1.やさしい
CHECK 制約は何をしますか?
- Aユーザーのパスワードを検証する
- Bクエリを実行する前に、テーブルが存在するかどうかを確認する
- C値が条件を満たさない行を拒否する
- Dテーブルの行数を数える
2.やさしい
結果から重複行を取り除く SQL キーワードはどれですか?
- AUNIQUE
- BDIFFERENT
- CSINGLE
- DDISTINCT
3.やさしい
候補キーとは何ですか?
- A各行を一意に識別する最小の列の組
- BNULL 値を含むあらゆる列
- C外部キーになるのを待っている列
- D2 つのテーブルの行を結びつけるために共有される列の組
4.ふつう
SQL におけるビュー(view)とは次のうちどれですか?
- Aインデックスの一種
- Bテーブルを閲覧するためのデータベースクライアントの画面
- C仮想テーブルのように振る舞う保存されたクエリ
- Dディスク上のテーブルのコピー
5.ふつう
コミットされた変更がシステムクラッシュ後も残ることを保証する ACID 特性はどれですか?
- A永続性(Durability)
- B原子性(Atomicity)
- C独立性(Isolation)
- D一貫性(Consistency)
6.ふつう
SELECT name, CASE WHEN grade >= 5.5 THEN 'pass' ELSE 'fail' END FROM results は何を返しますか?
- A合格した学生と不合格の学生の人数
- B成績に応じて 'pass' か 'fail' のラベルが付いた各名前
- C合格した学生だけ
- DSELECT では CASE が使えないためエラー
7.むずかしい
相関サブクエリ(correlated subquery)とは次のうちどれですか?
- A外側のクエリの前に 1 回だけ実行され、その結果がすべての行に対してキャッシュされるサブクエリ
- B外部キーで 2 つのテーブルを結合するサブクエリ
- C外側のクエリの列を参照し、外側の行ごとに評価されるサブクエリ
- D集約関数だけを使うサブクエリ
8.むずかしい
customers LEFT JOIN orders の後、顧客ごとの注文数を数えるのに COUNT(*) ではなく COUNT(o.id) を使うのはなぜですか?
- ACOUNT(o.id) は異なる顧客だけを数えるから
- B結合の後では COUNT(*) が使えないから
- CCOUNT(*) は、注文のない顧客の NULL で埋められた行を 1 と数えるから
- DCOUNT(*) は NULL 値を含む行を無視するから
解答
- 1. C · 値が条件を満たさない行を拒否する
- 2. D · DISTINCT
- 3. A · 各行を一意に識別する最小の列の組
- 4. C · 仮想テーブルのように振る舞う保存されたクエリ
- 5. A · 永続性(Durability)
- 6. B · 成績に応じて 'pass' か 'fail' のラベルが付いた各名前
- 7. C · 外側のクエリの列を参照し、外側の行ごとに評価されるサブクエリ
- 8. C · COUNT(*) は、注文のない顧客の NULL で埋められた行を 1 と数えるから
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。