第3章 连接和子查询

第3章 连接和子查询

ID:20578677

大小:587.00 KB

页数:32页

时间:2018-10-13

第3章 连接和子查询_第1页
第3章 连接和子查询_第2页
第3章 连接和子查询_第3页
第3章 连接和子查询_第4页
第3章 连接和子查询_第5页
资源描述:

《第3章 连接和子查询》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、在本章中,你将学到:使用连接查询数据使用小计查询数据目标连接:允许从多表中抽取数据可以分为以下类型:内连接外连接交叉连接相等连接自连接使用连接查询数据ABCBDEABCDEINNERJOINTableXTableYCOLUMNSCOLUMNSOUTPUTCOMMONROWS使用内连接内连接:内连接在公共的列上使用比较操作符从多表中抽取数据。仅抽取满足连接条件的行。语法:SELECTcolumn_name,column_name[,column_name]FROMtable1_nameJOINtable2_nameONtable1_name.ref_column_

2、namejoin_operatortable2_name.ref_column_name让我们看看如何…使用内连接(续)课间思考你为什么需要一个带列名的表别名?答案:在查询中需要表别名来唯一的识别列以避免模糊,这种模糊是因为多表中有相同的列名而产生的。外连接:外连接显示包含来自一个表中所有行和来自另一个表中匹配行的结果集。外连接显示没有找到匹配记录的相关表的列为NULL。有三种类型:左连接右连接完全外连接使用外连接ABCBDEABCDELEFTOUTERJOINTableXTableYCOLUMNSCOLUMNSOUTPUTALLROWSFROMTABLEXAN

3、DCOMMONROWSFROMTABLEY使用外连接(续)ABCBDEABCDERIGHTOUTERJOINTableXTableYCOLUMNSCOLUMNSOUTPUTALLROWSFROMTABLEYANDCOMMONROWSFROMTABLEX使用外连接(续)使用外连接(续)ABCBDEABCDEFULLOUTERJOINTableXTableYCOLUMNSCOLUMNSOUTPUTALLROWSFROMTABLEYANDTABLEYANDCOMMONROWSONLYONCE语法:SELECTcolumn_name,column_name[,colum

4、n_name]FROMtable1_name[LEFT

5、RIGHT

6、FULL]OUTERJOINtable2_nameONtable1_name.ref_column_namejoin_operatortable2_name.ref_column_name让我们看看如何…使用外连接(续)课间思考你什么时候使用右连接?答案:当你需要来自外连接右边的表中的所有记录和仅来自外连接的左边的匹配记录的时候使用右连接。ABCBDEABCDECROSSJOINTableXTableYCOLUMNSCOLUMNSOUTPUTnROWSmROWSALLROWS(nXm)EACHR

7、OWOFTABLEXJOINEDWITHEACHROWOFTABLEY使用交叉连接交叉连接:在两个表中将一个表中的每行与另一个表中的每行连接。结果集中行的数量是第一个表中行的数量与第二个表中行的数量的乘积。让我们看看如何…使用交叉连接(续)ABCBDEABCDBEEQUIJOINTableXTableYCOLUMNSCOLUMNSOUTPUTCOMMONROWS使用相等连接相等连接:与内连接一样显示两个表的所有列在结果集中显示冗余列数据让我们看看如何…使用相等连接(续)课间思考相等连接和内连接的区别是什么?答案;相等连接被用于从两个表中抽取所有列。内连接被用于从

8、表中抽取选中的列。自连接:在一个表中的一行与同一表中的另一行相关时使用自连接为了区别同一表的两个实例,表被给出两个别名让我们看看如何…使用自连接问题描述:AdventureWorks,Inc.公司的HR经理需要一个包含下面详情的报表:EmployeeIDEmployeeNameDepartmentNameDateofJoiningEmployeeAddress你将如何产生这个报告?演示:使用连接解决方案:为了解决上述问题,你需要完成下面的任务:1.确定连接。2.创建基于连接的查询。3.执行查询以验证结果。演示:使用连接(续)子查询:当一个查询的结果作为另一个查询

9、的条件时需要使用子查询语法:SELECTcolumn,column[,column]FROMtable_nameWHEREcolumn=( SELECTcolumnFROMtable_name[WHEREconditional_expression] )使用子查询查询数据IN关键字;用于在子查询中根据给定列表中的值匹配进行抽取行语法:SELECTcolumn,column[,column]FROMtable_nameWHEREcolumn[NOT]IN(SELECTcolumnFROMtable_name[WHEREconditional_expression]

10、)让我们看看如何…使用I

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。