1.やさしい
給与が高い順から低い順に結果を並べ替えるにはどうしますか?
- AGROUP BY salary DESC
- BORDER BY salary ASC
- CSORT salary DOWN
- DORDER BY salary DESC
2.やさしい
すでに存在する行の値を変更する SQL 文はどれですか?
- AINSERT
- BREPLACE COLUMN
- CUPDATE
- DMODIFY
3.やさしい
外部キー(foreign key)とは次のうちどれですか?
- Aテーブルのすべての行にわたって値が一意でなければならない列
- B別のテーブルの主キーを参照する列
- C常に暗号化されているキー
- D外国のユーザーが使うキー
4.ふつう
テーブルのすべての行を削除し、構造は残し、WHERE 句を付けられない文はどれですか?
- ADROP TABLE
- BWHERE 句付きの DELETE FROM
- CTRUNCATE TABLE
- DALTER TABLE
5.ふつう
SQL インジェクション(SQL injection)とは何ですか?
- Aデータベースのバックアップ手法
- Bユーザー入力によって SQL クエリの構造が変えられてしまう攻撃
- C1 つの INSERT 文で多数の行を高速に挿入する方法
- Dインデックスを追加する方法
6.ふつう
GRANT SELECT ON employees TO alice は何をしますか?
- Aユーザー alice が employees テーブルを読めるようにする
- Balice が employees テーブルの行を更新および削除できるようにする
- Cemployees テーブルを alice にコピーする
- Dalice をデータベースの所有者にする
7.むずかしい
EXPLAIN(PostgreSQL では EXPLAIN ANALYZE)はクエリについて何を示しますか?
- Aクエリ中の各 SQL キーワードの意味
- Bスキャンや結合方法など、オプティマイザが選んだ実行計画
- C関係代数の記法だけによるクエリの書き換え
- Dクエリを実行したユーザーの一覧
8.むずかしい
あるアプリは UPDATE item SET qty = 4, version = 8 WHERE id = 1 AND version = 7 を実行し、更新された行がなければ競合を報告します。これはどの手法ですか?
- A行ロックを用いる厳格な 2 相ロック
- Bログ先行書き込み
- Cデータベースのシャーディング
- D楽観的同時実行制御
解答
- 1. D · ORDER BY salary DESC
- 2. C · UPDATE
- 3. B · 別のテーブルの主キーを参照する列
- 4. C · TRUNCATE TABLE
- 5. B · ユーザー入力によって SQL クエリの構造が変えられてしまう攻撃
- 6. A · ユーザー alice が employees テーブルを読めるようにする
- 7. B · スキャンや結合方法など、オプティマイザが選んだ実行計画
- 8. D · 楽観的同時実行制御
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。