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
表,是不是我的查詢蘇fficient?我在做同樣的事情,但沒有加入classes
表。提前致謝。
這是什麼「樣書」你正在閱讀的是具有SQL查詢與語法20年過時了嗎? – RBarryYoung 2013-03-10 18:18:12
您的查詢是正確的,但可以通過加入您的表格進行改進 – 2013-03-10 18:23:10
@RBarryYoung Dunno我在線提供了示例問題。這些是TA的一些幻燈片。沒有提到日期。 – user1071840 2013-03-10 18:26:42