我似乎無法理解爲什麼這兩個查詢以下任務返回不同的結果:「發現學生誰只有有朋友在同檔次的名稱和等級回到依等級排序的結果,然後在每個年級的名字。「差異查詢
表在這裏:https://lagunita.stanford.edu/c4x/DB/SQL/asset/socialdata.html
第一個查詢:
SELECT DISTINCT h1.name, h1.grade
FROM Highschooler h1, Friend f, Highschooler h2
WHERE h1.ID = f.ID1 AND h2.ID = f.ID2 AND h1.grade = h2.grade
ORDER BY h1.grade, h1.name
第二個查詢:
select name, grade from Highschooler
where ID not in (
select ID1 from Highschooler H1, Friend, Highschooler H2
where H1.ID = Friend.ID1 and Friend.ID2 = H2.ID and H1.grade <> H2.grade)
order by grade, name;
第二個返回預期的結果,但不是第一個。如果有人關心澄清,謝謝。
,你可以在「但不是第一個」更精確?它以何種方式出乎意料? (如果您可以顯示結果或相關部分,效果會更好) – Kaddath
更有意義的是兩個查詢都不會回答問題。 –