我有兩個更新語句。他們都給出了相同的輸出。它們如何不同,哪個更好用?下面兩個更新語句在SQL中有何不同?
聲明1:
UPDATE li
SET li.Description = im.Description
FROM tbSupplierLineItem li
JOIN tbIMPACArchieveNew im ON li.ItemId = im.CommomCode
WHERE li.ProcessedDate >= CONVERT(DATE,GETDATE())
聲明2:
UPDATE li
SET li.Description = im.Description
FROM tbSupplierLineItem li
JOIN tbIMPACArchieveNew im ON li.ItemId = im.CommomCode
AND li.ProcessedDate >= CONVERT(DATE,GETDATE())
沒有真正的區別。有些人更喜歡使用'where',因爲條件是在一張桌子上過濾。 –
INNER JOIN(這是)沒有區別。 OUTER JOIN差異很大。 –
這就像正在加入的數據集,如果您在JOIN子句中添加更多條件,就像「只有滿足條件的表的一部分正在加入」一樣,如果有的話,首先它會加入表中的所有數據,實現即「ItemId」標準,然後將其過濾出來以符合條件 – Veljko89