データベース スキーマ
問題 -
メーカー B が製造するすべての製品 (種類は問いません) のモデルと価格を調べます。
私の試み -
SELECT b.model, b.price FROM laptop AS b
WHERE b.model IN ( SELECT model FROM product WHERE maker = 'B')
UNION
SELECT c.model, c.price FROM pc AS c
WHERE c.model IN ( SELECT model FROM product WHERE maker = 'B')
UNION
SELECT d.model, d.price FROM printer AS d
WHERE d.model IN ( SELECT model FROM product WHERE maker = 'B')
これでも、Bのみで正しいデータセットが表示されていません-
SELECT b.model, b.price FROM laptop AS b
WHERE b.model IN ( SELECT model FROM product WHERE maker = 'B')
結果セットは 1 つだけです。
クエリで作成した論理エラーについて教えてください。
編集 -
- の出力
SELECT model FROM product WHERE maker = 'B'
SELECT b.model, b.price FROM laptop AS b
WHERE b.model IN ( SELECT model FROM product WHERE maker = 'B')
クエリ -SELECT * FROM product WHERE maker = 'B'
出力 -