2014-09-27 85 views
1
join Organisation o (NOLOCK) on o.OrganisationID = h.OrganisationId 

我只想知道,nolock之前o是什麼意思?我還看到人們在nolock之前放置了a,uh - 它是指什麼?這是什麼意思在SQL查詢

對不起,如果這是一個愚蠢的問題,我只是一個SQL初學者。

回答

1

o僅僅是組織的別名 - 一個暱稱,所以你可以輸入較少的數據(並且查詢似乎更清晰)。否則,您必須聲明的長名字,並說:

join Organisation (NOLOCK) on Organisation.OrganisationID = h.OrganisationId 
1

特別是o是可以任意用AS

join Organisation AS o 

使用table alias的一個例子h也包含在連接條件也是table alias,像這樣的東西

FROM Hospitals AS h 
JOIN Organisation AS o (NOLOCK) on o.OrganisationID = h.OrganisationId 

在m用於簡化(或縮短)代碼的ost案例別名,許多人也認爲這是使代碼更清晰易讀。別名有時可能是必要的;例如,如果在查詢中多次使用查找表,則表別名(下面的L1 & L2)對於區分連接的數據變得至關重要。

FROM MyDataTable AS D 
INNER JOIN MyLookupTable AS L1 D.code1 = L1.lookup_code 
INNER JOIN MyLookupTable AS L2 D.code2 = L2.lookup_code 

有關使用別名的態度與強大的支持者對強有力的反對者顯着不同。以this stackoverflow question爲例。