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

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

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

名前: ____________________   日付: ____________

1.やさしい

クエリの結果を並べ替えるキーワードはどれですか?

  1. AARRANGE
  2. BORDER BY
  3. CSORT
  4. DGROUP BY
2.やさしい

代理キー(サロゲートキー)とは何ですか?

  1. A別のテーブルを参照するキー
  2. Bメールアドレスのような実世界のデータから作ったキー
  3. C自動採番の id のように、業務上の意味を持たない人工的な識別子
  4. Dビューでだけ使われるキー
3.やさしい

外部キー(foreign key)とは次のうちどれですか?

  1. Aテーブルのすべての行にわたって値が一意でなければならない列
  2. B外国のユーザーが使うキー
  3. C別のテーブルの主キーを参照する列
  4. D常に暗号化されているキー
4.ふつう

SELECT COALESCE(phone, 'unknown') FROM customers は、phone が NULL の顧客について何を返しますか?

  1. A'unknown'
  2. Bエラー
  3. CNULL
  4. D空文字列
5.ふつう

LEFT JOIN が返すのは次のうちどれですか?

  1. Aどちらのテーブルでも一致しない行
  2. B両方のテーブルの一致する行のみ
  3. C右テーブルのすべての行のみ
  4. D左テーブルのすべての行と右テーブルの一致する行。一致しない部分は NULL になる
6.ふつう

2 つの SELECT クエリの間で使う INTERSECT は何を返しますか?

  1. A1 つ目の結果にあって 2 つ目にない行
  2. B両方の結果に現れる行
  3. C結果の直積
  4. D両方の結果のすべての行
7.むずかしい

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

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

(last_name, first_name) に複合インデックスがあります。それを最も効果的に使える条件はどれですか?

  1. AWHERE first_name = 'Eva'
  2. BWHERE last_name = 'Jansen'
  3. CWHERE UPPER(first_name) = 'EVA'
  4. DWHERE first_name LIKE '%a'

解答

  1. 1. B · ORDER BY
  2. 2. C · 自動採番の id のように、業務上の意味を持たない人工的な識別子
  3. 3. C · 別のテーブルの主キーを参照する列
  4. 4. A · 'unknown'
  5. 5. D · 左テーブルのすべての行と右テーブルの一致する行。一致しない部分は NULL になる
  6. 6. B · 両方の結果に現れる行
  7. 7. D · o に対する WHERE 条件が NULL で埋められた行を除外し、内部結合と同じになるから
  8. 8. B · WHERE last_name = 'Jansen'

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