第9問
リレーショナルデータベースに蓄えられた以下のような商品表がある。この商品 表から、商品区分が筆記具あるいはノートで、販売数量が20 以上のデータを抽出 するSQL 文のWHERE 部の記述として、最も適切なものを下記の解答群から選べ。 商品表 210 27 筆記具 90 20 商品区分 単価 販売数量 B5 判ノート ボールペン A4 判ノート 商品名 30 cm スチール定規 クリアファイル 鉛筆HB ノート 270 12 定規 850 5 筆記具 150 17 ファイル 250 35 ノート V解答群X
- ア 販売数量> 20 OR (商品区分= '筆記具' OR 商品区分= 'ノート')
- イ 販売数量>= 20 AND 商品区分= '筆記具' OR 商品区分= 'ノート'
- ウ 販売数量>= 20 AND (商品区分= '筆記具' AND 商品区分= 'ノート')
- エ 販売数量>= 20 AND (商品区分= '筆記具' OR 商品区分= 'ノート') DKJC-1F
▼ 解答・解説を見る
正解:エ
解答:エ
抽出条件は「(商品区分=筆記具 または ノート)かつ 販売数量20以上」。論理式では 販売数量>=20 AND (商品区分='筆記具' OR 商品区分='ノート') となる。ORで結ぶ区分条件を括弧でくくり、ANDより優先させる点が要点。
- ア(×):全体をORで結んでおり、販売数量20未満や他区分のデータも抽出されてしまう。また「>20」は20を含まない。
- イ(×):括弧が無いためANDがORより優先し、
(販売数量>=20 AND 商品区分='筆記具') OR 商品区分='ノート'と解釈され、販売数量20未満のノートも抽出される。 - ウ(×):区分条件をANDで結ぶと「筆記具かつノート」となり該当データが存在しない。
- エ(○):
販売数量>=20 AND (商品区分='筆記具' OR 商品区分='ノート')で条件を正しく表現している。
よって エ。