读书频道 > 网站 > 网页设计 > SQL Server性能调优实战
3.8.1 连接类型
15-11-02    下载编辑
收藏    我要投稿   

本文所属图书 > SQL Server性能调优实战

本书是一线DBA技术专家精心之作,积作者多年的经验结晶和最佳实践,也是目前市场上为数不多通过存储原理来讲解性能优化,剖析SQL Server架构,从而帮助读者快速高效调优数据库的图书。书中首先简要介绍了SQL S立即去当当网订购

3.8 连接查询

连接是多表查询中的一个重要内容,它可以将两个或多个表根据逻辑关系进行关联,形成数据集合。连接可以在FROM或WHERE子句中指定,建议在FROM子句中指定,这样的语句更直观,可读性更好。

3.8.1 连接类型

连接分为三种类型:内部连接、外部连接和交叉连接。下面分别来看看。

1.内部连接

内部连接将筛选出符合连接操作中指定的所有关联条件的数据。例如:在Adventure-
Works示例数据库中,HumanResources.Employee表要与Person.Person表进行内连接操作,过滤出所有雇佣过的人的职位、姓名,那么代码如下所示:

SELECT
e.JobTitle,
p.FirstName,
p.LastName
FROM HumanResources.Employee AS e
INNER JOIN Person.Person AS p
ON p.BusinessEntityID = e.BusinessEntityID

2.外部连接

(1)左连接(LEFT JOIN)或左外连接(LEFT OUTER JOIN)

左连接,将列出连接关键字左边表中的所有数据,并且还会列出关键字右边表中可以查找到的数据,对于左表中无法关联出数据的行,将以NULL值来替代。如上例中提到的Employee表与Person表,可用下面的语句过滤出所有人的姓名,并列出所有被雇佣的人的职位信息:

SELECT
p.FirstName,
p.LastName,
e.JobTitle
FROM Person.Person AS p
LEFT JOIN HumanResources.Employee AS e
ON p.BusinessEntityID = e.BusinessEntityID

(2)右连接(RIGHT JOIN)或右外连接(RIGTH OUTER JOIN)

右连接与左连接刚好相反。右连接将列出右边表中的所有数据,左边表中未找到匹配行的数据将以NULL值替代。

(3)完整外部连接(FULL JOIN 或FULL OUTER JOIN)

完整外部连接将列出左边与右边表中的所有行。当某行在另一个表中找不到匹配行时,另一个表中的数据将以NULL值替代。

3.交叉连接

交叉连接,也就是笛卡儿积。它将列出左右两个表中所有的组合数据,并且不需要指定关联条件。应避免在查询中进行这样的操作,它所列出的结果集数量将是两个表数量的乘积。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站