在使用任何連接寫入查詢時,確定On所基於哪一側在連接sqlserver 2008中使用「ON」時命令是否重要
示例
select * from customer C
join Address ON A.CustomerId=C.CustomerID -- would it make a difference if I did ON C.CustomerId=A.CustomerID
where c.CustomerId=1
左側或右側連接怎麼樣?
非常感謝
在使用任何連接寫入查詢時,確定On所基於哪一側在連接sqlserver 2008中使用「ON」時命令是否重要
示例
select * from customer C
join Address ON A.CustomerId=C.CustomerID -- would it make a difference if I did ON C.CustomerId=A.CustomerID
where c.CustomerId=1
左側或右側連接怎麼樣?
非常感謝
不,您還在加入這兩個表格。我認爲最好的做法是將加盟表放在正確的位置。
重要嗎?編號
LEFT vs RIGHT - 取決於你想要的結果。
SELECT * FROM A LEFT JOIN B ON A.aid=b.aid
會給你從A所有結果他們是否在B中的匹配記錄 - 這樣的領域的B返回的將是空的,其中B不匹配記錄。
SELECT * FROM A RIGHT JOIN B ON ...
會給你所有B中的記錄,並在由提供的字段爲空值的可能性...
平等是可交換的操作。 A=B
與B=A
相同,因此JOIN子句中的特定順序無關緊要。
如果您正在進行不平等測試<
和>
,那麼排序會很重要。 B>A
是不一樣的A>B
(和A<B
和B<A
同上)
好的。很好知道,不知道在「ON」之後的順序是否重要。 – user9969