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

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

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

名前: ____________________   日付: ____________

1.やさしい

列に付けた UNIQUE 制約は何を保証しますか?

  1. A挿入後に列を変更できない
  2. Bその列で 2 つの行が同じ非 NULL 値を持たない
  3. Cその列が自動的にテーブルの主キーになる
  4. D列の値が並べ替えられている
2.やさしい

グループ化の前に行を絞り込む句はどれですか?

  1. AGROUP BY
  2. BWHERE
  3. CHAVING
  4. DORDER BY
3.やさしい

給与が高い順から低い順に結果を並べ替えるにはどうしますか?

  1. AORDER BY salary DESC
  2. BORDER BY salary ASC
  3. CGROUP BY salary DESC
  4. DSORT salary DOWN
4.ふつう

外部キーが ON DELETE CASCADE で宣言されています。親の行を削除すると何が起こりますか?

  1. Aそれを参照する子の行が自動的に削除される
  2. B削除は常に拒否される
  3. C親の行がアーカイブテーブルにコピーされる
  4. D子の行の外部キーが自動的に NULL に設定される
5.ふつう

列にインデックスを作成するのはなぜですか?

  1. Aそれらの列に対する挿入と更新を高速化するため
  2. Bその列に対する検索や結合を高速化するため
  3. Cディスク容量を節約するため
  4. DNULL 値を防ぐため
6.ふつう

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

  1. ASELECT リスト
  2. BWHERE
  3. CORDER BY
  4. DGROUP BY
7.むずかしい

FULL OUTER JOIN は何を返しますか?

  1. A一致する行のみ
  2. B両方のテーブルのすべての行。可能な限り対応付け、対応がない部分は NULL で埋める
  3. C一致しない行のみ
  4. D一方のテーブルの各行を他方のすべての行と組み合わせる直積(デカルト積)
8.むずかしい

クエリ FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' が、注文のない顧客を思いがけず落としてしまいます。なぜですか?

  1. ALEFT JOIN は一致しない行を決して残さないから
  2. Bstatus が予約語だから
  3. C結合には ON ではなく USING を使うべきだから
  4. Do に対する WHERE 条件が NULL で埋められた行を除外し、内部結合と同じになるから

解答

  1. 1. B · その列で 2 つの行が同じ非 NULL 値を持たない
  2. 2. B · WHERE
  3. 3. A · ORDER BY salary DESC
  4. 4. A · それを参照する子の行が自動的に削除される
  5. 5. B · その列に対する検索や結合を高速化するため
  6. 6. B · WHERE
  7. 7. B · 両方のテーブルのすべての行。可能な限り対応付け、対応がない部分は NULL で埋める
  8. 8. D · o に対する WHERE 条件が NULL で埋められた行を除外し、内部結合と同じになるから

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