1.やさしい
候補キーとは何ですか?
- A外部キーになるのを待っている列
- B2 つのテーブルの行を結びつけるために共有される列の組
- CNULL 値を含むあらゆる列
- D各行を一意に識別する最小の列の組
2.やさしい
トランザクションで ROLLBACK は何をしますか?
- Aテーブルを削除する
- Bトランザクション開始以降に行った変更を取り消す
- Cトランザクションのすべての変更を永続的にディスクへ保存する
- D直前の文を繰り返す
3.やさしい
テーブルから行を削除する文はどれですか?
- ATRUNCATE COLUMN
- BDROP
- CREMOVE
- DDELETE
4.ふつう
外部キーが ON DELETE CASCADE で宣言されています。親の行を削除すると何が起こりますか?
- A子の行の外部キーが自動的に NULL に設定される
- B親の行がアーカイブテーブルにコピーされる
- Cそれを参照する子の行が自動的に削除される
- D削除は常に拒否される
5.ふつう
HAVING について正しい記述はどれですか?
- A集約関数を使ってグループを絞り込むことができる
- BSELECT 文の中で WHERE より前に書かなければならない
- CGROUP BY と一緒には使えない
- D結果を並べ替える
6.ふつう
学生は多くの科目を履修でき、科目には多くの学生がいます。これはテーブルでどのようにモデル化しますか?
- A1 つの列に科目 id のリストを保存して
- Bstudents テーブルに courses を指す外部キー列 course_id を置いて
- C学生と科目の両方への外部キーを持つ中間テーブルで
- D学生と科目を 1 つのテーブルにまとめて
7.むずかしい
SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp は何を返しますか?
- A部署ごとに 1 行と、その平均給与
- B部署の平均より多く稼ぐ従業員だけ
- Cすべての従業員の行と、その部署の平均給与
- Dname が GROUP BY にないためエラー
8.むずかしい
次のクエリは何を返しますか:SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)
- A最高点の学生のみ
- B全学生の平均点
- CWHERE ではサブクエリが使えないためエラー
- D成績が平均点を上回る学生
解答
- 1. D · 各行を一意に識別する最小の列の組
- 2. B · トランザクション開始以降に行った変更を取り消す
- 3. D · DELETE
- 4. C · それを参照する子の行が自動的に削除される
- 5. A · 集約関数を使ってグループを絞り込むことができる
- 6. C · 学生と科目の両方への外部キーを持つ中間テーブルで
- 7. C · すべての従業員の行と、その部署の平均給与
- 8. D · 成績が平均点を上回る学生
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。