データベース
基本情報技術者試験|次の「社員」表と「部署」表を `社員 LEFT OUTER JOIN 部署 ON 社員.部署ID =…
次の「社員」表と「部署」表を `社員 LEFT OUTER JOIN 部署 ON 社員.部署ID = 部署.部署ID` で結合したとき、結果として得られる行数はいくつか。
社員表
| 社員ID | 部署ID |
|---|---|
| S1 | 10 |
| S2 | 20 |
| S3 | 10 |
| S4 | NULL |
| S5 | 99 |
部署表
| 部署ID | 部署名 |
|---|---|
| 10 | 営業 |
| 20 | 開発 |
| 30 | 総務 |
ア2行になる
イ6行
ウ3行(一致した行だけが残る)
エ5行
正解
エ.5行
LEFT OUTER JOIN は左表(社員)の全行を必ず残す。社員は5行あり、S4(部署IDがNULL)とS5(部署ID99で対応なし)も部署名をNULLとして残るため、結果は左表と同じ5行となり正しい。
?選択肢ごとの解説
ア ×2行は誤りで、結合相手が見つからない行も左外部結合では残るため大幅に少ない。
イ ×6行は左表の行が部署表の複数行と重複対応した場合の数だが、部署IDは部署表で一意なので行は増えず、過大な見積りである。
ウ ×3行(一致した行だけ)は内部結合(INNER JOIN)の結果であり、左外部結合は一致しない行も残す点を取り違えている。
エ ○LEFT OUTER JOIN は左表(社員)の全行を必ず残す。社員は5行あり、S4(部署IDがNULL)とS5(部署ID99で対応なし)も部署名をNULLとして残るため、結果は左表と同じ5行となり正しい。
データベースの他の問題
相関副問合せ(相関サブクエリ)の特徴として最も適切なものはどれか。SQLで `SELECT 名前 FROM 社員 WHERE 部署ID IN (SELECT 部署ID FROM 部署…SQLの `UPDATE 商品 SET 価格 = 価格 * 1.1 WHERE 分類 = '食品'`…SQLのデータ制御言語(DCL)に関する説明として最も適切なものはどれか。関係データベースのビュー(view)に関する説明として最も適切なものはどれか。分散データベースで複数サイトにまたがるトランザクションの一貫性を保つ2相コミットの第1相(準備相)で行われることはどれか。更新競合がまれな環境で、データ取得時にはロックをかけず、更新時にバージョン番号などで他者の更新有無を検査して競合を検出する同…あるトランザクションが同一の検索条件で2回問合せを行ったところ、1回目には存在しなかった行が2回目に出現した。他トランザクシ…
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。
基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。
登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。
作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-a3-0243
