
基本情報技術者試験 令和7年度 公開問題 科目A、全20問のうちの問6。
出典:令和7年度 基本情報技術者試験 公開問題 科目A 問6(表は原本の画像を文字に書き起こした。選択肢イの 3 行の SQL 文は 1 行につないだ)
“商品”表に
| 商品 ID | 商品名称 | 仕入先 ID | 単価 |
|---|---|---|---|
| S001 | 冷蔵庫 | M001 | 155,000 |
| S002 | 食器洗い機 | M002 | 85,000 |
| S003 | 電子レンジ | M003 | 78,000 |
| S004 | 炊飯器 | M003 | 32,000 |
| S005 | コーヒーメーカー | M004 | 15,000 |
| S006 | ホットプレート | M004 | 12,000 |
表は横に送ると続きが見えます。
SELECT * FROM 商品 WHERE 仕入先 ID IN ('M002', 'M004')
- アSELECT * FROM 商品 WHERE 仕入先 ID = 'M002' AND 仕入先 ID = 'M004'
- イSELECT * FROM 商品 WHERE 仕入先 ID = 'M002' INTERSECT SELECT * FROM 商品 WHERE 仕入先 ID = 'M004'
- ウSELECT * FROM 商品 WHERE 仕入先 ID = 'M002' OR 仕入先 ID = 'M004'
- エSELECT * FROM 商品 WHERE 仕入先 ID BETWEEN 'M002' AND 'M004'
答えと解説を開く
正解はウです。
IN 句は、
ほかの選択肢が違う理由
- アAND は
両方の 条件を 同時に 満たす行を 選びます。 1 つの 行の 仕入先 ID が M002 と M004 の 両方である ことは ないので、 1 行も 返りません。 - イINTERSECT は
2 つの 結果の 両方に 含まれる 行だけを 残します。 M002 の 行と M004 の 行に 共通の 行は 無いので、 1 行も 返りません。 - エBETWEEN は
M002 から M004 までの 範囲なので、 間の M003 も 含みます。 S003 と S004 も 選ばれ、 5 行に なります。
仕組み
IN は
集合の