您的位置:首页 > 其它

INNER JOIN——内部链接

2016-06-19 16:21 309 查看
SELECT *
FROM [Person].[Person]
INNER JOIN [HumanResources].[Employee]
ON [Person].[Person].[BusinessEntityID]=
[HumanResources].[Employee].[BusinessEntityID]

注:在链接句中使用“*”运算符号是不好的习惯。编写代码可能快速简单,但易于出错,并降低系统性能。

SELECT [Person].[BusinessEntity].*,JobTitle
FROM [Person].[BusinessEntity]
INNER JOIN [HumanResources].[Employee]
ON [Person].[BusinessEntity].[BusinessEntityID]=
[HumanResources].[Employee].[BusinessEntityID]


当返回列的名称在链接结果中多次出现时,必须完全限制列的名称,可以通过两种方式:

一、提供选择列所在的的表名,接着是一个点号(.)和列名(即表.列名)。

SELECT [Person].[BusinessEntity].*,[HumanResources].[Employee].[BusinessEntityID]
FROM [Person].[BusinessEntity]
INNER JOIN [HumanResources].[Employee]
ON [Person].[BusinessEntity].[BusinessEntityID]=
[HumanResources].[Employee].[BusinessEntityID]


二、提供一个别名,接着是一个点号(.)和列名(即别名.列名)。

SELECT pbe.*,hre.BusinessEntityID
FROM Person.BusinessEntity  pbe
INNER JOIN [HumanResources].[Employee] hre
ON pbe.BusinessEntityID=hre.[BusinessEntityID]

注:这两种查询结果是一样的。可以选择那些表使用别名,哪些表不使用别名,在代码中可以混合使用别名和表,但只要确定了使用表名的别名,则一直使用别名。

内部链接与其他链接的不同之处在于,内部链接是一个排他的链接,即排除在两表——第一个指定的表(即左表)和第二个表(即右表)——中没有匹配的所有记录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: