2014-09-27 88 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为例。