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

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

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

名前: ____________________   日付: ____________

1.やさしい

CROSS JOIN は何を返しますか?

  1. A2 つのテーブルの行のあらゆる組み合わせ
  2. B共通のキー列で一致する行だけ
  3. C最初のテーブルの行だけ
  4. D一致しない行だけ
2.やさしい

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

  1. AINSERT COLUMN
  2. BUPDATE TABLE
  3. CCREATE COLUMN
  4. DALTER TABLE
3.やさしい

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

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

EXCEPT(Oracle では MINUS)は何を返しますか?

  1. A2 つ目のクエリの行のうち、1 つ目に現れないもの
  2. B両方のクエリに現れる行
  3. C両方のクエリのすべての行(重複なし)
  4. D1 つ目のクエリの行のうち、2 つ目に現れないもの
5.ふつう

第三正規形(3NF)で取り除かれるのは次のうちどれですか?

  1. A複合キー
  2. B非キー属性間の推移的関数従属
  3. C原子的な値
  4. Dキーに含まれない列に対する冗長なインデックス
6.ふつう

第二正規形(2NF)で取り除かれるのは次のうちどれですか?

  1. A別の非キー列を介した、非キー列間の推移的関数従属
  2. Bすべての NULL 値
  3. C複合キーの一部に対する非キー列の部分関数従属
  4. D外部キー
7.むずかしい

customers LEFT JOIN orders の後、顧客ごとの注文数を数えるのに COUNT(*) ではなく COUNT(o.id) を使うのはなぜですか?

  1. ACOUNT(*) は NULL 値を含む行を無視するから
  2. B結合の後では COUNT(*) が使えないから
  3. CCOUNT(o.id) は異なる顧客だけを数えるから
  4. DCOUNT(*) は、注文のない顧客の NULL で埋められた行を 1 と数えるから
8.むずかしい

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

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

解答

  1. 1. A · 2 つのテーブルの行のあらゆる組み合わせ
  2. 2. D · ALTER TABLE
  3. 3. B · 別のテーブルの主キーを参照する列
  4. 4. D · 1 つ目のクエリの行のうち、2 つ目に現れないもの
  5. 5. B · 非キー属性間の推移的関数従属
  6. 6. C · 複合キーの一部に対する非キー列の部分関数従属
  7. 7. D · COUNT(*) は、注文のない顧客の NULL で埋められた行を 1 と数えるから
  8. 8. B · 成績が平均点を上回る学生

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