幕布斯6054654
2019-06-15 10:44:18
SQLJOIN:使用、打開或在何處有區別嗎?我想知道SQL對這些JOIN語句的執行方式是否有任何不同:SELECT * FROM a,b WHERE a.ID = b.IDSELECT * FROM a JOIN b ON a.ID = b.IDSELECT * FROM a JOIN b USING(ID)有表演上的差別嗎?還是算法上的差異?還是只是語法糖?
3 回答

米琪卡哇伊
TA貢獻1998條經驗 獲得超6個贊
FROM T1,T2,T3....WHERE T1.ID = T2.ID AND T1.foo = 'bar' AND T2.fish = 42 AND T1.ID = T3.IDFROM T1 INNER JOIN T2 ON T1.ID = T2.ID INNER JOIN T3 ON T1.ID = T3.IDWHERE T1.foo = 'bar' AND T2.fish = 42
=*
, *=
不使用“JointheWHERE”(隱式)的原因是外部聯接的錯誤結果。 如果您使用顯式外部聯接+隱式內部連接,則仍然會得到不可靠的結果+您的用法不一致

萬千封印
TA貢獻1891條經驗 獲得超3個贊
WHERE
SELECT p.Product, o.OrderFROM Product pINNER JOIN Order oON o.OrderID = p.OrderID
ON
WHERE
WHERE
SELECT p.Product, o.OrderFROM Product pINNER JOIN Order oON o.OrderID = p.OrderIDWHERE o.Category = 'IT'
WHERE
添加回答
舉報
0/150
提交
取消