問題
選択肢
- 1SELECT * FROM 商品 WHERE 仕入先ID = 'M002' AND 仕入先ID = 'M004'
- 2SELECT * FROM 商品 WHERE 仕入先ID = 'M002' INTERSECT SELECT * FROM 商品 WHERE 仕入先ID = 'M004'
- 3SELECT * FROM 商品 WHERE 仕入先ID = 'M002' OR 仕入先ID = 'M004'
- 4SELECT * FROM 商品 WHERE 仕入先ID BETWEEN 'M002' AND 'M004'
正解
3. SELECT * FROM 商品 WHERE 仕入先ID = 'M002' OR 仕入先ID = 'M004'
詳しい解説を見る解説を閉じる
解説
元のSQL文の IN ('M002', 'M004') は「仕入先IDがM002またはM004である行」を抽出する条件で、列挙した値のいずれかに一致する行を返す。これと同じ意味を持つのは、OR演算子で2条件を結んだ「ウ」である。アのANDは1つの列が同時にM002かつM004である行を求めるため結果は常に空となり誤り。イのINTERSECTは両SELECTの共通行(積集合)を求めるが、各行の仕入先IDは一意なので共通行が存在せず結果は空。エのBETWEEN 'M002' AND 'M004' はM002〜M004の範囲(M003も含む)を抽出するため対象が異なる。よって「ウ」が正解である。(出典: 令和7年度 基本情報技術者試験 科目A 問6)
一問一答
科目A 180問+科目B 60問