1.やさしい
行数を数える集約関数はどれですか?
- ACOUNT
- BAVG
- CMAX
- DSUM
2.やさしい
INNER JOIN が返すのは次のうちどれですか?
- A左テーブルのすべての行。一致がない場合は NULL が入る
- B一致しない行
- C両方のテーブルのすべての行
- D両方のテーブルで値が一致する行のみ
3.やさしい
クエリで GROUP BY は何をしますか?
- ANULL 値を含む行を削除する
- B同じ値を持つ行をグループにまとめ、集約がグループごとに計算されるようにする
- C結果の行をアルファベット順に並べ替える
- D2 つのテーブルを共通の列で結合する
4.ふつう
関数従属性 A → B は何を意味しますか?
- AB の各値にはちょうど 1 つの A の値が対応する
- BA と B がどちらも主キーである
- CA の各値にはちょうど 1 つの B の値が対応する
- DA が B を参照する外部キーである
5.ふつう
共通テーブル式(WITH name AS (...))は何を提供しますか?
- A新しいデータベースユーザー
- B1 つの文の中で使える、名前付きの一時的な結果
- C列に対するインデックス
- D削除されるまでディスクに保存され続ける恒久的なテーブル
6.ふつう
WHERE 句に一致する行がないとき、SELECT SUM(amount) FROM orders は何を返しますか?
- A空文字列
- Bエラー
- CNULL
- D0
7.むずかしい
本番環境のクエリで NATURAL JOIN が危険とされるのはなぜですか?
- A常に直積を返すから
- B主キーと外部キーを無視し、NULL の行だけを残すから
- Cどのデータベースでもサポートされていないから
- D同じ名前のすべての列で結合するため、新しい列が追加されると結果が知らないうちに変わりうるから
8.むずかしい
トランザクション T1 は行 A をロックして行 B を待ち、T2 は行 B をロックして行 A を待っています。一般的な DBMS はどうしますか?
- Aデッドロックを検出し、一方のトランザクションを犠牲として中止する
- B両方のトランザクションを同時にコミットする
- C一方がふつうにコミットするまで、両方のトランザクションを待たせる
- D2 つのトランザクションを 1 つにまとめる
解答
- 1. A · COUNT
- 2. D · 両方のテーブルで値が一致する行のみ
- 3. B · 同じ値を持つ行をグループにまとめ、集約がグループごとに計算されるようにする
- 4. C · A の各値にはちょうど 1 つの B の値が対応する
- 5. B · 1 つの文の中で使える、名前付きの一時的な結果
- 6. C · NULL
- 7. D · 同じ名前のすべての列で結合するため、新しい列が追加されると結果が知らないうちに変わりうるから
- 8. A · デッドロックを検出し、一方のトランザクションを犠牲として中止する
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。