1.やさしい
列に付けた UNIQUE 制約は何を保証しますか?
- A挿入後に列を変更できない
- Bその列で 2 つの行が同じ非 NULL 値を持たない
- Cその列が自動的にテーブルの主キーになる
- D列の値が並べ替えられている
2.やさしい
グループ化の前に行を絞り込む句はどれですか?
- AGROUP BY
- BWHERE
- CHAVING
- DORDER BY
3.やさしい
給与が高い順から低い順に結果を並べ替えるにはどうしますか?
- AORDER BY salary DESC
- BORDER BY salary ASC
- CGROUP BY salary DESC
- DSORT salary DOWN
4.ふつう
外部キーが ON DELETE CASCADE で宣言されています。親の行を削除すると何が起こりますか?
- Aそれを参照する子の行が自動的に削除される
- B削除は常に拒否される
- C親の行がアーカイブテーブルにコピーされる
- D子の行の外部キーが自動的に NULL に設定される
5.ふつう
列にインデックスを作成するのはなぜですか?
- Aそれらの列に対する挿入と更新を高速化するため
- Bその列に対する検索や結合を高速化するため
- Cディスク容量を節約するため
- DNULL 値を防ぐため
6.ふつう
関係代数で、選択演算子(σ)はどの SQL の句に対応しますか?
- ASELECT リスト
- BWHERE
- CORDER BY
- DGROUP BY
7.むずかしい
FULL OUTER JOIN は何を返しますか?
- A一致する行のみ
- B両方のテーブルのすべての行。可能な限り対応付け、対応がない部分は NULL で埋める
- C一致しない行のみ
- D一方のテーブルの各行を他方のすべての行と組み合わせる直積(デカルト積)
8.むずかしい
クエリ FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' が、注文のない顧客を思いがけず落としてしまいます。なぜですか?
- ALEFT JOIN は一致しない行を決して残さないから
- Bstatus が予約語だから
- C結合には ON ではなく USING を使うべきだから
- Do に対する WHERE 条件が NULL で埋められた行を除外し、内部結合と同じになるから
解答
- 1. B · その列で 2 つの行が同じ非 NULL 値を持たない
- 2. B · WHERE
- 3. A · ORDER BY salary DESC
- 4. A · それを参照する子の行が自動的に削除される
- 5. B · その列に対する検索や結合を高速化するため
- 6. B · WHERE
- 7. B · 両方のテーブルのすべての行。可能な限り対応付け、対応がない部分は NULL で埋める
- 8. D · o に対する WHERE 条件が NULL で埋められた行を除外し、内部結合と同じになるから
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。