SQL_Server2005分组统计与多表关联查询.ppt_第1页
SQL_Server2005分组统计与多表关联查询.ppt_第2页
SQL_Server2005分组统计与多表关联查询.ppt_第3页
SQL_Server2005分组统计与多表关联查询.ppt_第4页
SQL_Server2005分组统计与多表关联查询.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章,分组统计和多表关联查询,查看和编写查询一个月前订单信息的SQL语句。在作者表中查询姓名以“李”开头的作者信息。查询前20%的图书信息。预览检查,什么是分组统计?多表连接查询有哪些类型,为什么使用多表连接查询?在本章中,使用T-SQL语句对“作者”和“书籍”表进行汇总统计。多表关联查询。本章的目标,掌握聚合函数的使用。用于分组统计的主分组依据。掌握多表连接查询和聚合功能,并将所有成员的点存储在成员表中。如果我想计算最高分、平均分和超过300分的会员人数,我应该怎么做?成员表客户,聚合函数-总和,AVG,最大值,最小值,1,总和,2,AVG,3,最大值和最小值,聚合函数-计数,4,计数(表

2、达式)返回结果集中非空的行数。除了数字列之外,还可以使用、最大值和最小值来计算字符类型和日期时间类型的数据列,其中“表达式”可以是“*”和“列名”。(1)COUNT(*):返回表中所有数据行的记录号。(2)COUNT(列名):返回指定列的非空值数。例如,聚合函数,如果你想计算居住在不同城市的人数,写下面的代码是正确的吗?执行中有错误。为了解决这个问题,我们需要使用分组统计。什么是分组统计,一个水果店的每日销售情况,我们需要统计各种水果的销售额。示例、根据水果的种类进行分组,然后分别进行汇总、分组统计、分组统计请记住,除了SELECT语句中的聚合函数之外,所有列都应写在Group By语句之后,

3、否则会出现错误。语法,从表中选择聚合函数WHERE条件GROUP BY,其中可以有多个用逗号分隔的字段,用于指示分组依据的列。群组统计应用程序,计算成员列表中居住在不同城市的人数?应该根据“城市”列对问题、分析进行分组,然后使用Count()聚合函数来汇总行数。统计结果,多列分组统计,不同城市和性别成员数量的统计?问题、分析和统计结果集应包括“城市、性别和人数三栏信息”。显然,它应该被分成两列:城市和性。聚合函数Count()仍用于汇总分组后的行数。统计结果,多列分组统计,如果代码是这样写的,结果会是什么?因此请记住,SELECT语句中除聚合函数之外的所有列都应写在Group By语句之后。执

4、行错误、性别,再次使用HAVING子句过滤分组结果,继续考虑上面的查询,如果“应该计算不同城市和不同性别的成员数量,并且应该只显示成员超过2个的记录”会怎么样?需要过滤分组数据,并且过滤条件计数(*)=2。过滤分组数据需要Having子句。统计结果:使用HAVING子句再次筛选分组结果,WHERE子句:从数据源中删除不符合其搜索条件的数据。GROUP BY子句:将数据行收集到每个组中,统计函数计算每个组的统计值。HAVING子句:删除不符合其组搜索标准的每组数据行。见下表a。查询每个学生的平均分数,并显示该学生的分数出现两次以上的信息。问题,多表关联查询,为什么使用多表关联查询?这是从图书列表

5、中查询的信息。你能记得在很长一段时间后,哪些作者被作者编号1、4、11和12所代表吗?事实上,最好显示存储在作者表中的作者姓名。如何同时从这两个表中获取数据?多表关联查询、内部联接、外部联接、左联接、右联接、全联接、交叉联接)、作者、内部联接、内部联接查询两个、内部联接、语法、从表1中选择内部联接表2表1。列名条件运算符(=)表2。列名,其中条件ORDER BY排序列具有.其中”在表1中。列名条件运算符表2。列名,条件运算符通常用作=,表1 .列名和表2。列名是两个表中常见的列。例如,书籍和作者在内部连接到SQL语句,这是编写内部连接的另一种方式。SQL Server2005也兼容以前版本的内

6、部连接语法,即使用WHERE子句进行内部连接。多表联接,语法,选择自(表1内部联接表2表1上,列名条件运算符表2,列名)内部联接表3表1上,列名条件运算符表3,列名条件排序按列排序,例如,左外部联接,语法,选择自左表左外部联接右表左表。列名条件运算符右表。列名,其中条件按列排序。例如,使用左外连接查询图书和作者表、右表作者(来自)、左外连接、左表:图书(主)、中的数据。左外连接将左表作为主表,并取消右表(从表)的关联。结果集包含主表的所有数据行。如果从表中没有匹配的行,则从表的选定列为空。left outer join,如果您将上面的语句更改为下面的代码,查询结果会相同吗?为什么?右连接,语法

7、,从左表中选择右外部连接右表在左表中,列名条件运算符右表,列名WHERE条件ORDER BY排序列,例如,使用右连接查询图书和作者表中的数据,右表作者(主表),右连接,左表:图书(从表),在右连接中,右表是主表,左表(从表)是分离的。结果集包含主表的所有数据行。如果主表的一行在从表中没有匹配的行,则从表的选定列为空。语法,从左表中选择完全外部联接右表在左表中,列名条件运算符右表,列名WHERE条件ORDER BY排序列,例如,使用完全联接查询图书和作者表中的数据,并完全连接左表和右表中的所有行。当一行数据在另一个表中不匹配时,另一个表的选定列值为空。案例研究,在作者表中找出哪些作者没有出版过书,并将作者信息保存在新的临时作者表中。分析,首先找到内容,然后将它插入到新表中,可以使用SELECT.进入。声明。关键是要找出哪些作者没有出版过书,这涉及到两个表,一个是作者表,另一个是图书表。如果作者表中的作者号没有出现在图书表中,将作者表作为主表,图书表作为从表,使用左外连接进行查询。最后将查询的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论