テーブル:
Classes (class, type, country, numGuns, bore, displacement)
Ships (name, class, launched)
Outcome (ship, battle, result)
質問:
各クラスについて、戦闘で沈没したそのクラスの船の数を見つけてください。
私の答え:
SELECT ships.class, COUNT(*)
FROM ships, outcome
WHERE ships.name = outcomes.ship AND outcome.result = 'sunk'
GROUP BY ships.class
結合して答える:
SELECT class, COUNT(*)
from ships
inner join outcomes
on name = ship
where outcome.result = 'sunk'
group by class
サンプル小冊子の答え:
SELECT classes.class, COUNT(*)
FROM classes, ships, outcomes
WHERE classes.class = ships.class AND ship = name AND result = 'sunk'
GROUP BY classes.class;
私が得られないのは、なぜ彼らがclasses
テーブルを含めなければならなかったのかということです.私のクエリは十分ではありませんか? 私は同じことをしていますが、classes
テーブルに参加していません。前もって感謝します。