データベース
令和7年度 基本情報技術者試験 科目A 公開問題 問6
“商品”表に対する SQL 文と同じ結果が得られる SELECT 文はどれか。
〔SQL 文〕
SELECT * FROM 商品 WHERE 仕入先 ID IN ('M002', 'M004')
商品
| 商品 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 |
答えを選ぶ
出典:令和7年度 基本情報技術者試験 科目A 公開問題 問6(問題文は IPA の公開問題。解説は当サイト作成)
解説に誤りを見つけたら、解説の誤りを報告してください。
答えと解説を見る
正解:ウ
覚える知識
SQLのIN条件とOR条件の等価性
IN述語は列値が列挙値のいずれかに一致することを表し、OR条件の連結と等価である。
この問題で必要なこと
IN('M002','M004')はM002またはM004と等価であり、OR条件で表せる。AND・INTERSECTでは該当行がなく、BETWEENはM003も含む。
ひっかけ
ANDやINTERSECTでは両方を満たす行となり空になる点、BETWEENは範囲でM003を含む点で混同させる。
この知識の出題:本試験系 1 回・免除試験 1 回(公開問題での観測値)。頻出知識ランキング648位(全1,254件中)。