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

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

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

名前: ____________________   日付: ____________

1.やさしい

候補キーとは何ですか?

  1. A外部キーになるのを待っている列
  2. B2 つのテーブルの行を結びつけるために共有される列の組
  3. CNULL 値を含むあらゆる列
  4. D各行を一意に識別する最小の列の組
2.やさしい

トランザクションで ROLLBACK は何をしますか?

  1. Aテーブルを削除する
  2. Bトランザクション開始以降に行った変更を取り消す
  3. Cトランザクションのすべての変更を永続的にディスクへ保存する
  4. D直前の文を繰り返す
3.やさしい

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

  1. ATRUNCATE COLUMN
  2. BDROP
  3. CREMOVE
  4. DDELETE
4.ふつう

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

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

HAVING について正しい記述はどれですか?

  1. A集約関数を使ってグループを絞り込むことができる
  2. BSELECT 文の中で WHERE より前に書かなければならない
  3. CGROUP BY と一緒には使えない
  4. D結果を並べ替える
6.ふつう

学生は多くの科目を履修でき、科目には多くの学生がいます。これはテーブルでどのようにモデル化しますか?

  1. A1 つの列に科目 id のリストを保存して
  2. Bstudents テーブルに courses を指す外部キー列 course_id を置いて
  3. C学生と科目の両方への外部キーを持つ中間テーブルで
  4. D学生と科目を 1 つのテーブルにまとめて
7.むずかしい

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

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

次のクエリは何を返しますか:SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)

  1. A最高点の学生のみ
  2. B全学生の平均点
  3. CWHERE ではサブクエリが使えないためエラー
  4. D成績が平均点を上回る学生

解答

  1. 1. D · 各行を一意に識別する最小の列の組
  2. 2. B · トランザクション開始以降に行った変更を取り消す
  3. 3. D · DELETE
  4. 4. C · それを参照する子の行が自動的に削除される
  5. 5. A · 集約関数を使ってグループを絞り込むことができる
  6. 6. C · 学生と科目の両方への外部キーを持つ中間テーブルで
  7. 7. C · すべての従業員の行と、その部署の平均給与
  8. 8. D · 成績が平均点を上回る学生

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