特定のデータベースの場合
Product(maker, model, type)
PC(code, model, speed, ram, hd, cd, price)
問題は 、最小の RAM を搭載した PC と、最小の RAM を搭載した PC の中で最高速度のプロセッサを搭載した PC を製造しているプリンター メーカーを見つけることです。結果セット: メーカー。
クエリを分割しましょう!
- PCも生産しているプリンターメーカーを探す
SELECT DISTINCT maker from product Group by maker,type HAVING type IN('Printer','PC')
IN('Printer','PC') は OR ではなく AND のようなものなので、これは間違っていると思います
- RAM が最小の PC
SELECT model,speed FROM pc WHERE ram=(SELECT MIN(ram) FROM pc) を最小ラムとして
- 最も低い RAM を搭載した PC の中で最高速度のプロセッサ
WHERE lowestRam.speed=(SELECT MAX(speed) FROM pc WHERE ram=(SELECT MIN(ram) FROM pc))
クエリ自体!
SELECT DISTINCT maker FROM
(SELECT DISTINCT model,speed FROM pc WHERE ram=(SELECT MIN(ram) FROM pc)) as lowestRam
INNER JOIN product
ON product.model=lowestRam.model
WHERE
lowestRam.speed=(SELECT max(speed) FROM pc WHERE ram=(SELECT MIN(ram) FROM pc))
Group By maker,type HAVING type IN( 'Printer' ,'PC')
残念ながら、サイトをチェックしてクエリを送信すると、余分な間違った結果が1つ生成されます:(
質問はLinkから来ています。クエリ検証には 2 つのステップがあります。2番目のステップは、ユーザーと正しい結果の違いのみを示しています:(