1.やさしい
トランザクションで COMMIT は何をしますか?
- Aデータベース全体をロックする
- Bトランザクション開始以降に行ったすべての変更を取り消す
- Cトランザクションのすべての変更を確定させる
- D新しいテーブルを開始する
2.やさしい
構造も含めてテーブル全体を削除する文はどれですか?
- ADELETE FROM
- BTRUNCATE ROWS
- CDROP TABLE
- DREMOVE TABLE
3.やさしい
CROSS JOIN は何を返しますか?
- A2 つのテーブルの行のあらゆる組み合わせ
- B共通のキー列で一致する行だけ
- C最初のテーブルの行だけ
- D一致しない行だけ
4.ふつう
orders テーブルには 5 行あり、それぞれが既存の顧客を参照しています。customers テーブルは 3 行です。customer_id での INNER JOIN は何行を返しますか?
- A8
- B5
- C3
- D15
5.ふつう
一度も注文したことのない顧客を一覧にするクエリはどれですか?
- ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- BSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
- DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
6.ふつう
第三正規形(3NF)で取り除かれるのは次のうちどれですか?
- Aキーに含まれない列に対する冗長なインデックス
- B原子的な値
- C非キー属性間の推移的関数従属
- D複合キー
7.むずかしい
クエリに対するカバリングインデックスとは何ですか?
- Aクエリに必要なすべての列を含み、テーブル自体を読まなくてよいインデックス
- B主キーだけのインデックス
- Cすべてのテーブルのすべての列をカバーするインデックス
- D毎晩再構築されるインデックス
8.むずかしい
クエリ FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' が、注文のない顧客を思いがけず落としてしまいます。なぜですか?
- ALEFT JOIN は一致しない行を決して残さないから
- Bo に対する WHERE 条件が NULL で埋められた行を除外し、内部結合と同じになるから
- Cstatus が予約語だから
- D結合には ON ではなく USING を使うべきだから
解答
- 1. C · トランザクションのすべての変更を確定させる
- 2. C · DROP TABLE
- 3. A · 2 つのテーブルの行のあらゆる組み合わせ
- 4. B · 5
- 5. D · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 6. C · 非キー属性間の推移的関数従属
- 7. A · クエリに必要なすべての列を含み、テーブル自体を読まなくてよいインデックス
- 8. B · o に対する WHERE 条件が NULL で埋められた行を除外し、内部結合と同じになるから
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。