查询与视图SQL复杂查询语句总结.PPT

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据记录的分组 使用Group By进行分组,返回的结果中,每一行都产生聚合值。常用的聚合函数包括: Sum():返回一个数字列或计算列的总和 Avg():返回一个数字列或计算列的平均值 Min():返回一个数字列或计算列的最小值 Max():返回一个数字列或计算列的最大值 Count():返回非NULL值的记录个数 count(*):返回符合条件的记录个数 * 排序与分组 例如:1)统计各个院系的学生人数。 select 院系名称,count(*) as 人数 from 学生基本情况 group by 院系名称 2)统计各个院系的男生、女生的人数。 select 院系名称,性别,count(*) as 人数 from 学生基本情况 group by 院系名称,性别 思考:1)查询各个专业、不同省份的学生人数。 2)查询数据表中所有男生、女生的人数。 3)查询本专业数学成绩的总分、平均分、最高分、最低分。 4)按性别查询本专业英语的平均分、最高分、最低分和人数。 * 4.3 数据连接与子查询 数据连接查询 根据各个表之间的逻辑关系,从两个或多个表中检索数据,并把所有检索到的数据通过一个数据集返回。 1)用WHERE进行数据连接 使用WHERE子句可以实现多个表间的数据连接。 例如:从学生基本情况表与成绩表中查询学生的学号、姓名、专业、各门课程成绩。 SELECT 学生基本情况.学号, 姓名, 所学专业, 成绩表.高等数学, 成绩表.大学英语, 计算机基础, 管理学 FROM 学生基本情况 ,成绩表 where 学生基本情况.学号 = 成绩表.学号 * WHERE数据连接 如果数据表名称太长,造成书写麻烦,可以给数据表另外取一个简洁的名称,即别名。 例如:将上面语句中的基本情况表改名为jbqk,将成绩表改名为cjb,则语句变成: SELECT jbqk.学号, 姓名, 所学专业, 高等数学, 大学英语, cjb.计算机基础, 管理学 FROM 学生基本情况 as jbqk ,成绩表 as cjb where jbqk.学号 = cjb.学号 或者改成: SELECT jbqk.学号, jbqk.姓名, jbqk.所学专业, cjb.高等数学, cjb.大学英语, cjb.计算机基础, cjb.管理学 FROM 学生基本情况 jbqk ,成绩表 cjb where jbqk.学号 = cjb.学号 * Join On 连接 2 用JOIN ON 连接 在Select语句中,通常使用Join…On连接词来实现表间的连接。 例如:上面的Where连接可以改成: SELECT jbqk.学号, jbqk.姓名, jbqk.所学专业, cjb.高等数学, cjb.大学英语, cjb.计算机基础, cjb.管理学 FROM 学生基本情况 jbqk join 成绩表 cjb on jbqk.学号 = cjb.学号 * 连接查询 3 用连接关键字进行连接 从多个表中查询相关数据,最好在FROM子句中指定连接条件,这样可以将指定的连接条件与WHERE子句的搜索条件分开。 连接查询的主要用法为: Select 选择字段列表 From 数据表 连接的类型 其它表[on 连接条件] [Where 搜索条件] [Order By 排序字段] * Inner Join 1)内连接(Inner Join) 内连接是最常用的连接操作。连接的结果是从两个表中挑选出符合连接条件的数据,如果数据无法满足连接条件则将其丢弃。 例如:使用内连接,从学生基本情况表与成绩表中查询学生的学号、姓名、专业、各门课程成绩。 SELECT jbqk.学号, jbqk.姓名, jbqk.所学专业, cjb.高等数学, cjb.大学英语, cjb.计算机基础, cjb.管理学 FROM 学生基本情况 jbqk inner join 成绩表 cjb on jbqk.学号 = cjb.学号 * Outer Join 2)外连接(Outer Join) 外连接中,参与连接的表有主从之分。以主表的每行数据去匹配从表的数据行,符合条件的数据将直接返回到查询结果中;如果主表的行在从表中没有相匹配的行,则对应从表的列将填上NULL值。 外连接的类型有: 左连接(Left Join/Left Outer Join) 右连接(Right Join/Right Outer Join) 完全连接(Full Join/Full Outer Join) * Left Join (1)左连接(Left Join) 以连接左边的表为主表。即左边表的所有行都显示出来,若左边表在从表中没有与连接条件相匹配的数据行,则从表不匹配的列填上NULL。 例如:前面的查询,使用左连接查询。

文档评论(0)

swj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档