解答つきデータベースと SQLワークシート

無料で印刷できるデータベースと SQLのワークシート:やさしい問題から試験レベルまで 8 問、解答つき。印刷するか PDF で保存できます。

先生方へ: 授業で自由に印刷・コピーしてお使いいただけます。新しいワークシートごとに数値が変わり、専用の解答が付きます。授業ページに ExamProblems へのリンクを載せていただけると嬉しいです。

名前: ____________________   日付: ____________

1.やさしい

テーブルから行を削除する文はどれですか?

  1. ADELETE
  2. BREMOVE
  3. CDROP
  4. DTRUNCATE COLUMN
2.やさしい

既存のテーブルに新しい列を追加する文はどれですか?

  1. AINSERT COLUMN
  2. BUPDATE TABLE
  3. CALTER TABLE
  4. DCREATE COLUMN
3.やさしい

PostgreSQL と MySQL で、結果の最初の 10 行だけを返す句はどれですか?

  1. AMAX 10
  2. BLIMIT 10
  3. CFIRST 10 ONLY
  4. DTOP ROWS 10
4.ふつう

SQL インジェクション(SQL injection)とは何ですか?

  1. Aユーザー入力によって SQL クエリの構造が変えられてしまう攻撃
  2. Bデータベースのバックアップ手法
  3. C1 つの INSERT 文で多数の行を高速に挿入する方法
  4. Dインデックスを追加する方法
5.ふつう

関係代数で、選択演算子(σ)はどの SQL の句に対応しますか?

  1. ASELECT リスト
  2. BWHERE
  3. CGROUP BY
  4. DORDER BY
6.ふつう

一度も注文したことのない顧客を一覧にするクエリはどれですか?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  4. DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
7.むずかしい

SELECT dept, name, COUNT(*) FROM emp GROUP BY dept が標準 SQL で無効なのはなぜですか?

  1. AGROUP BY にはテーブルのすべての列を並べなければならないから
  2. Bdept は集約関数の中に入れなければならないから
  3. CCOUNT(*) は GROUP BY と一緒に使えないから
  4. Dname はグループ化も集約もされておらず、グループごとに 1 つの値を持たないから
8.むずかしい

役に立つインデックスのない 2 つの大きなテーブルの等価結合で、オプティマイザがよく選ぶ結合アルゴリズムはどれですか?

  1. Aハッシュ結合
  2. B交差結合
  3. C主キーでのビットマップ結合
  4. Dインデックス検索を伴うネステッドループ結合

解答

  1. 1. A · DELETE
  2. 2. C · ALTER TABLE
  3. 3. B · LIMIT 10
  4. 4. A · ユーザー入力によって SQL クエリの構造が変えられてしまう攻撃
  5. 5. B · WHERE
  6. 6. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  7. 7. D · name はグループ化も集約もされておらず、グループごとに 1 つの値を持たないから
  8. 8. A · ハッシュ結合

ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。