版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、在本章中,你将学到: 使用连接查询数据 使用小计查询数据,目标,连接: 允许从多表中抽取数据 可以分为以下类型: 内连接 外连接 交叉连接 相等连接 自连接,使用连接查询数据,A B C,B D E,A B C D E,INNER JOIN,Table X,Table Y,COLUMNS,COLUMNS,OUTPUT,COMMON ROWS,使用内连接,内连接: 内连接在公共的列上使用比较操作符从多表中抽取数据。 仅抽取满足连接条件的行。 语法: SELECT column_name, column_name ,column_name FROM table1_name JOIN table2_
2、name ON table1_name.ref_column_name join_operator table2_name.ref_column_name 让我们看看如何,使用内连接(续),课间思考,你为什么需要一个带列名的表别名?,答案: 在查询中需要表别名来唯一的识别列以避免模糊,这种模糊是因为多表中有相同的列名而产生的。,外连接: 外连接显示包含来自一个表中所有行和来自另一个表中匹配行的结果集。 外连接显示没有找到匹配记录的相关表的列为NULL。 有三种类型: 左连接 右连接 完全外连接,使用外连接,A B C,B D E,A B C D E,LEFT OUTER JOIN,Table
3、X,Table Y,COLUMNS,COLUMNS,OUTPUT,ALL ROWS FROM TABLE X AND COMMON ROWS FROM TABLE Y,使用外连接(续),A B C,B D E,A B C D E,RIGHT OUTER JOIN,Table X,Table Y,COLUMNS,COLUMNS,OUTPUT,ALL ROWS FROM TABLE Y AND COMMON ROWS FROM TABLE X,使用外连接(续),使用外连接(续),A B C,B D E,A B C D E,FULL OUTER JOIN,Table X,Table Y,COLUMN
4、S,COLUMNS,OUTPUT,ALL ROWS FROM TABLE Y AND TABLE Y AND COMMON ROWS ONLY ONCE,语法: SELECT column_name, column_name ,column_name FROM table1_name LEFT | RIGHT | FULL OUTER JOIN table2_name ON table1_name.ref_column_name join_operator table2_name.ref_column_name 让我们看看如何,使用外连接(续),课间思考,你什么时候使用右连接?,答案: 当你需
5、要来自外连接右边的表中的所有记录和仅来自外连接的左边的匹配记录的时候使用右连接。,A B C,B D E,A B C D E,CROSS JOIN,Table X,Table Y,COLUMNS,COLUMNS,OUTPUT,n ROWS,m ROWS,ALL ROWS (n X m) EACH ROW OF TABLE X JOINED WITH EACH ROW OF TABLE Y,使用交叉连接,交叉连接: 在两个表中将一个表中的每行与另一个表中的每行连接。 结果集中行的数量是第一个表中行的数量与第二个表中行的数量的乘积。 让我们看看如何,使用交叉连接(续),A B C,B D E,A
6、B C D B E,EQUI JOIN,Table X,Table Y,COLUMNS,COLUMNS,OUTPUT,COMMON ROWS,使用相等连接,相等连接: 与内连接一样 显示两个表的所有列 在结果集中显示冗余列数据 让我们看看如何,使用相等连接(续),课间思考,相等连接和内连接的区别是什么?,答案; 相等连接被用于从两个表中抽取所有列。内连接被用于从表中抽取选中的列。,自连接: 在一个表中的一行与同一表中的另一行相关时使用自连接 为了区别同一表的两个实例,表被给出两个别名 让我们看看如何,使用自连接,问题描述: AdventureWorks, Inc.公司的HR经理需要一个包含下面
7、详情的报表: Employee ID Employee Name Department Name Date of Joining Employee Address 你将如何产生这个报告?,演示:使用连接,解决方案: 为了解决上述问题,你需要完成下面的任务: 1. 确定连接。 2.创建基于连接的查询。 3.执行查询以验证结果。,演示:使用连接(续),子查询: 当一个查询的结果作为另一个查询的条件时需要使用子查询 语法: SELECT column, column ,column FROM table_name WHERE column = (SELECT column FROM table_na
8、me WHERE conditional_expression),使用子查询查询数据,IN 关键字; 用于在子查询中根据给定列表中的值匹配进行抽取行 语法: SELECT column, column ,column FROM table_name WHERE column NOT IN ( SELECT column FROM table_name WHERE conditional_expression ) 让我们看看如何,使用IN 和 EXISTS关键字,EXISTS 关键字: 使用EXISTS关键字以检查数据的存在性并返回true 或 false 语法; SELECT column,
9、column ,column FROM table_name WHERE EXISTS ( SELECT column FROM table_name WHERE conditional_expression ) 让我们看看如何,使用IN 和 EXISTS 关键字(续),使用以下项修改比较操作符: ALL关键字返回TRUE值,如果所有子查询抽取的所有值满足比较操作符 ANY关键字返回TRUE值,如果子查询抽取的任何值满足比较操作符 让我们看看如何,使用修改的比较操作符,课间思考,在子查询中如何使用EXISTS关键字?,答案: EXISTS关键字被用来根据内查询指定的条件检查行在内查询的结果集中
10、的存在性。,集合函数: 在子查询中使用集合函数以产生来自内查询的集合值 让我们看看如何,使用集合函数,嵌入子查询: 包含一个或多个子查询 在查询依赖另一个查询的结果的时候被使用 让我们看看如何,使用嵌入子查询,相关子查询: 可以被定义为依赖于它评估的外部查询的查询 在相关子查询中,WHERE从句引用在FROM从句中的表中 让我们看看如何,使用相关子查询,课间思考,写出一个查询,它确定所有来自数据库中经理ID是12的所有员工的Employee ID和Department ID。,答案: SELECT EmployeeID, DepartmentID FROM HumanResources.Emp
11、loyeeDepartmentHistory WHERE EmployeeID=(SELECT EmployeeID FROM HumanResources.Employee WHERE ManagerID=12),问题描述: AdventureWorks, Inc.的管理层计划修改员工的支付率。对于它,他们想要一个包含EmployeeID和那些员工当前支付率大于$40的员工的职务。 你如何产生这个报告?,演示:使用子查询,解决方案: 为了解决上述问题,你需要完成如下任务: 1. 创建一个查询。 2.执行查询以验证结果。,演示:使用子查询(续),在本章,你已经学到: 连接和子查询被用于从多表中抽取数据。 内连接在公共列上使用比较操作符从多表中组合记录。 左连接返回来自左表的所有行和来自右表的匹配行。 右外连接返回来自右表的所有行和来自左表的匹配行。 完全外连接返回所有应用连接的两个表的匹配和不匹配行。 交叉连接返回来自第一个表的每行和来自第二个表的每行的连接。 相等连接被用于列出连接的表的所有列。,小结,自连接将一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国食品专用硫化剂行业市场发展现状及发展趋势与投资风险研究报告
- 2025-2030中国医护辅助设备行业市场发展现状及发展趋势与投资前景研究报告
- 2025-2030中国老年手机行业供需趋势及投资风险研究报告
- 2026中国颜色传感器行业市场发展趋势与前景展望战略研究报告
- 2025-2030智慧医疗信息系统市场供需格局与数字化转型评估规划研究
- 2025-2030智慧农业设备制造业资源节约技术集成市场推广方案
- 2025-2030智慧农业行业市场规模现状分析及投资规划与发展趋势研究报告
- 2025-2030智慧农业行业农产品生产管理分析市场空间评估投资规划竞争策略报告
- 2025-2030智慧农业气象灾害预警系统优化方案探讨与未来农业防灾减灾体系完善报告
- 2025-2030智慧农业技术推广应用经验总结及未来发展行情分析报告
- 降低呼吸机肺炎-降低呼吸机管路积水的发生率PDCA
- 成人心理健康教育讲座
- 生猪屠宰厂可行性方案
- 景区旅游经营预测研究报告
- JB-T 14179-2022 带式输送机用托辊冲压轴承座
- 溢洪河大桥防洪评价报告
- 第四节喀斯特地貌最全课件
- 断绝亲情关系协议书
- 产褥期母婴的护理-产褥期妇女的生理变化(妇产科护理学课件)
- 安徽马鞍山市横望人力资源有限公司招考聘用劳务外包人员笔试题库含答案解析
- 低压电工试题库-含答案
评论
0/150
提交评论