"商品"表と"当月商品仕入合計"表に対して、SQL文を実行した結果はどれか。 商品(商品コード,仕入先コード): S001,K01 / S002,K01 / S003,K02 / S004,K02 / S005,K03 / S006,K04。当月商品仕入合計(仕入先コード,仕入合計金額): K01,150000 / K03,100000 / K05,250000。 〔SQL文〕(SELECT 仕入先コード FROM 商品) EXCEPT (SELECT 仕入先コード FROM 当月商品仕入合計)
EXCEPTは差集合。既定で重複も取り除かれる
| 商品: | 商品コード | 仕入先コード |
|---|---|---|
| S001 | K01 | |
| S002 | K01 | |
| S003 | K02 | |
| S004 | K02 | |
| S005 | K03 | |
| S006 | K04 |
| 当月商品仕入合計: | 仕入先コード | 仕入合計金額 |
|---|---|---|
| K01 | 150,000 | |
| K03 | 100,000 | |
| K05 | 250,000 |
選択肢
- アK01, K01, K03
- イK01, K03
- ウK02, K02, K04
- エK02, K04
正解と解説
正解:エ K02, K04
EXCEPTは左側の問合せ結果から右側に現れる値を取り除く差集合演算で、ALLを付けない限り重複も取り除かれる。商品側の仕入先コードの集合から当月仕入合計にある仕入先を除くと、残るのは重複を排除した2件になる。よってエが結果となる。
選択肢ごとの解説
- アこれは両方に共通する仕入先であり、差集合ではなく共通集合に近い誤り。
- イ共通する仕入先を並べたもので、EXCEPTが返すのはその反対側の集合である。
- ウ取り除く仕入先の判断は正しいが、EXCEPTは既定で重複を排除するため同じ値が2度現れることはない。
- エ正解。商品側にあって当月仕入合計側にない仕入先が、重複を除いて返される。
同じ分野の他の問題
- "名簿1"表と"名簿2"表のそれぞれ対応する行が全て等しいかどうかを確認するSQL文のa, b, cに入れる適切な字句は…2025年度 秋期 午前II 問9
- 図のツリー構造に対するデータを格納した"隣接リスト"表から、リーフノードを取得するSQL文のaに入れる字句はどれか。ここ…2024年度 秋期 午前II 問8
- SQL文1とSQL文2を実行した結果が同一になるために、表Rが満たすべき必要十分な条件はどれか。 〔SQL文1〕 SEL…2022年度 秋期 午前II 問9
- SQLの3値論理において、a, bに入る字句の組合せはどれか。 "真 AND 不定"は[ a ]であり、"偽 AND 不…2025年度 秋期 午前II 問7
- "従業員"表から、男女それぞれの最年長従業員を除く全ての従業員を取り出すSQL文とするために、aに入れる字句はどれか。こ…2024年度 秋期 午前II 問10
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。