1.やさしい
代理キー(サロゲートキー)とは何ですか?
- A自動採番の id のように、業務上の意味を持たない人工的な識別子
- Bメールアドレスのような実世界のデータから作ったキー
- Cビューでだけ使われるキー
- D別のテーブルを参照するキー
2.やさしい
クエリの結果を並べ替えるキーワードはどれですか?
- ASORT
- BGROUP BY
- CARRANGE
- DORDER BY
3.やさしい
結果から重複行を取り除く SQL キーワードはどれですか?
- ADISTINCT
- BDIFFERENT
- CSINGLE
- DUNIQUE
4.ふつう
customers テーブルの異なる都市の数を返すクエリはどれですか?
- ASELECT SUM(DISTINCT city) FROM customers
- BSELECT COUNT(city) FROM customers GROUP BY city
- CSELECT DISTINCT COUNT(city) FROM customers
- DSELECT COUNT(DISTINCT city) FROM customers
5.ふつう
orders テーブルには 5 行あり、それぞれが既存の顧客を参照しています。customers テーブルは 3 行です。customer_id での INNER JOIN は何行を返しますか?
- A3
- B5
- C15
- D8
6.ふつう
あるテーブルは、注文のすべての行に顧客の住所を保存しています。ある行の住所を変更し、ほかの行は変更しないのは何の例ですか?
- A更新時異常
- Bファントムリード
- C挿入時異常
- D削除時異常
7.むずかしい
EXPLAIN(PostgreSQL では EXPLAIN ANALYZE)はクエリについて何を示しますか?
- A関係代数の記法だけによるクエリの書き換え
- Bスキャンや結合方法など、オプティマイザが選んだ実行計画
- Cクエリを実行したユーザーの一覧
- Dクエリ中の各 SQL キーワードの意味
8.むずかしい
ファントムリード(phantom read)とは何ですか?
- A同じクエリを再実行すると、別のコミット済みトランザクションが挿入した新しい行が返される現象
- B一度も書き込まれていないデータを読むこと
- C行を 1 つも返さないクエリ
- D未コミットの変更を読むこと
解答
- 1. A · 自動採番の id のように、業務上の意味を持たない人工的な識別子
- 2. D · ORDER BY
- 3. A · DISTINCT
- 4. D · SELECT COUNT(DISTINCT city) FROM customers
- 5. B · 5
- 6. A · 更新時異常
- 7. B · スキャンや結合方法など、オプティマイザが選んだ実行計画
- 8. A · 同じクエリを再実行すると、別のコミット済みトランザクションが挿入した新しい行が返される現象
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。