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

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

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

名前: ____________________   日付: ____________

1.やさしい

すでに存在する行の値を変更する SQL 文はどれですか?

  1. AINSERT
  2. BMODIFY
  3. CREPLACE COLUMN
  4. DUPDATE
2.やさしい

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

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

UNION は 2 つの SELECT クエリの結果をどうしますか?

  1. A両方に現れる行だけを残す
  2. B1 つの結果にまとめ、重複する行を取り除く
  3. Cキーで横に並べて結合する
  4. D1 つ目のクエリにあって 2 つ目にない行だけを残す
4.ふつう

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

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

customers テーブルの異なる都市の数を返すクエリはどれですか?

  1. ASELECT SUM(DISTINCT city) FROM customers
  2. BSELECT COUNT(city) FROM customers GROUP BY city
  3. CSELECT COUNT(DISTINCT city) FROM customers
  4. DSELECT DISTINCT COUNT(city) FROM customers
6.ふつう

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

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

多版型同時実行制御(MVCC)では、読み取り側はどのようにして書き込み側をブロックせずに済みますか?

  1. A読み取り側がいる間は書き込みが許されない
  2. B読み取り側は未コミットのデータを直接読む
  3. C読み取り側はコミット済みの行バージョンの一貫したスナップショットを見て、書き込み側は新しいバージョンを作る
  4. D読み取り側は常にすべての書き込み側のコミットを待つ
8.むずかしい

SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp は何を返しますか?

  1. A部署の平均より多く稼ぐ従業員だけ
  2. B部署ごとに 1 行と、その平均給与
  3. Cすべての従業員の行と、その部署の平均給与
  4. Dname が GROUP BY にないためエラー

解答

  1. 1. D · UPDATE
  2. 2. D · 別のテーブルの主キーを参照する列
  3. 3. B · 1 つの結果にまとめ、重複する行を取り除く
  4. 4. A · その列に対する検索や結合を高速化するため
  5. 5. C · SELECT COUNT(DISTINCT city) FROM customers
  6. 6. C · 左テーブルのすべての行と右テーブルの一致する行。一致しない部分は NULL になる
  7. 7. C · 読み取り側はコミット済みの行バージョンの一貫したスナップショットを見て、書き込み側は新しいバージョンを作る
  8. 8. C · すべての従業員の行と、その部署の平均給与

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