1.やさしい
WHERE 句で簡単な文字列のパターンマッチに使う演算子はどれですか?
- ASIMILAR
- BCONTAINS
- CLIKE
- DMATCH
2.やさしい
SQL において NULL は何を表しますか?
- A数値列におけるゼロという数
- BBoolean の false
- C欠けている値または不明な値
- D空文字列
3.やさしい
代理キー(サロゲートキー)とは何ですか?
- A別のテーブルを参照するキー
- Bビューでだけ使われるキー
- C自動採番の id のように、業務上の意味を持たない人工的な識別子
- Dメールアドレスのような実世界のデータから作ったキー
4.ふつう
HAVING について正しい記述はどれですか?
- A集約関数を使ってグループを絞り込むことができる
- BSELECT 文の中で WHERE より前に書かなければならない
- C結果を並べ替える
- DGROUP BY と一緒には使えない
5.ふつう
2 つの SELECT クエリの間で使う INTERSECT は何を返しますか?
- A結果の直積
- B1 つ目の結果にあって 2 つ目にない行
- C両方の結果のすべての行
- D両方の結果に現れる行
6.ふつう
あるテーブルは、注文のすべての行に顧客の住所を保存しています。ある行の住所を変更し、ほかの行は変更しないのは何の例ですか?
- A削除時異常
- Bファントムリード
- C更新時異常
- D挿入時異常
7.むずかしい
WHERE YEAR(order_date) = 2025 を含むクエリが order_date のインデックスを使わないことがあるのはなぜですか?
- A列に関数を適用すると、単純なインデックス範囲検索ができなくなるから
- BYEAR は有効な SQL ではないから
- Cインデックスは日付では決して機能しないから
- Dorder_date のインデックスは ORDER BY 句にしか使われず、WHERE には決して使われないから
8.むずかしい
トランザクション T1 は行 A をロックして行 B を待ち、T2 は行 B をロックして行 A を待っています。一般的な DBMS はどうしますか?
- Aデッドロックを検出し、一方のトランザクションを犠牲として中止する
- B両方のトランザクションを同時にコミットする
- C一方がふつうにコミットするまで、両方のトランザクションを待たせる
- D2 つのトランザクションを 1 つにまとめる
解答
- 1. C · LIKE
- 2. C · 欠けている値または不明な値
- 3. C · 自動採番の id のように、業務上の意味を持たない人工的な識別子
- 4. A · 集約関数を使ってグループを絞り込むことができる
- 5. D · 両方の結果に現れる行
- 6. C · 更新時異常
- 7. A · 列に関数を適用すると、単純なインデックス範囲検索ができなくなるから
- 8. A · デッドロックを検出し、一方のトランザクションを犠牲として中止する
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。