過去問解きまくり研究所 ホーム

令和7年度 科目A 問6

データベース

SQLに関する問題

“商品”表に対する SQL 文と同じ結果が得られる SELECT 文はどれか。

商品

商品 ID商品名称仕入先 ID単価
S001冷蔵庫M001155,000
S002食器洗い機M00285,000
S003電子レンジM00378,000
S004炊飯器M00332,000
S005コーヒーメーカーM00415,000
S006ホットプレートM00412,000

〔SQL 文〕

SELECT * FROM 商品 WHERE 仕入先 ID IN ('M002', 'M004')
答えと解説を見る

✓ これが正解ウSELECT * FROM 商品 WHERE 仕入先 ID = 'M002' OR 仕入先 ID = 'M004'

解説

IN 述語は、括弧内の値を OR でつないだ条件と同じ結果になります。

IN 述語は、列の値が括弧内に並べたいずれかの値と一致する行を取り出す条件です。設問の SQL 文は、仕入先 ID が M002 か M004 のどちらかである行を選ぶので、結果は食器洗い機、コーヒーメーカー、ホットプレートの3行になります。いずれかと一致すればよいという意味は、それぞれの等号の条件を OR でつないだ形とまったく同じです。そのため、仕入先 ID='M002' OR 仕入先 ID='M004' とした SELECT 文で同じ3行が得られます。IN の括弧の中は OR で展開できる、と読み替えておくと、AND や BETWEEN を使った書き換えとの違いがすぐ判断できます。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:令和7年度 基本情報技術者試験 科目A 問6

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)