表Aと表Bから、どちらか一方にだけ含まれるIDを得るSQL文のaに入れる字句はどれか。 〔SQL文〕 SELECT COALESCE(A.ID, B.ID) FROM A [a] B ON A.ID = B.ID WHERE A.ID IS NULL OR B.ID IS NULL
両側の非対応行を残すには完全外部結合を使う

表A:
表B:
| ID |
|---|
| 100 |
| 200 |
| 300 |
| 400 |
| ID |
|---|
| 200 |
| 400 |
| 600 |
| 800 |
選択肢
- アFULL OUTER JOIN
- イINNER JOIN
- ウLEFT OUTER JOIN
- エRIGHT OUTER JOIN
正解と解説
正解:ア FULL OUTER JOIN
どちらか一方にしか存在しないIDを得るには、まず両方の表の行をすべて残す結合が必要である。完全外部結合なら対応相手のない行も残り、その側の列がNULLになるので、WHERE句でいずれかがNULLの行に絞れば片方だけに存在するIDが取り出せる。よってアが正しい。
選択肢ごとの解説
- ア正解。両表の対応しない行をどちらも残すので、片側だけに存在するIDを両方向から拾える。
- イ内部結合では両方に存在する行しか残らず、NULLになる行が生じないので結果が空になる。
- ウ左外部結合では表Bにしか存在しないIDが結果に現れず、片側だけ取りこぼす。
- エ右外部結合では表Aにしか存在しないIDが落ちてしまい、こちらも片側だけになる。
同じ分野の他の問題
- "従業員"表から、男女それぞれの最年長従業員を除く全ての従業員を取り出すSQL文とするために、aに入れる字句はどれか。こ…2024年度 秋期 午前II 問10
- "社員"表から、男女それぞれの最年長社員を除く全ての社員を取り出すSQL文とするために、aに入れる字句はどれか。ここで、…2022年度 秋期 午前II 問12
- "文書"表、"社員"表から結果を得るSQL文のaに入れる字句はどれか。2022年度 秋期 午前II 問6
- "社員取得資格"表に対し、SQL文を実行して結果を得た。SQL文のaに入れる字句はどれか。 社員取得資格(社員コード,資…2021年度 秋期 午前II 問8
- "社員"表から、男女それぞれの最年長社員を除く全ての社員を取り出すSQL文とするために、aに入れる字句はどれか。ここで、…2020年度 10月試験 午前II 問10
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。