4-1SQL基本查询.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4-1SQL基本查询要点

外查询(父查询):外层查询块。 内查询(子查询):内层查询块。 上述函数又叫聚组函数。 SELECT column, group_function, … FROM table [WHERE condition] [GROUP BY [ROOLUP|CUBE|GROUPING SETS] group_by_expression] [HAVING group_condition] [ORDER BY column[ASC|DESC]]; Group By子句基本语法 单列分组查询 将查询出来的记录按照某一个指定的列进行分组。 思考: 多列分组查询 在GROUP BY子句中指定了两个或多个分组列。 例如,查询各个部门中不同工种的员工人数和平均工资。 SQL SELECT deptno,count(*),avg(sal) FROM emp GROUP BY deptno; SQL SELECT deptno,job,count(*),avg(sal) FROM emp GROUP BY deptno,job; SELECT ename,COUNT(*),avg(sal) FROM emp GROUP BY deptno; 结果? (5)分组查询 使用HAVING子句限制返回组 可以使用HAVING子句, 只有满足条件的组才会返回。 例如,查询部门平均工资高于1500的部门号、部门人数和部门平均工资。 例如,统计20号部门中各个工种的员工人数和平均工资,并返回平均工资高于1000的工种人数和平均工资。 SQL SELECT deptno,count(*),avg(sal) FROM emp WHERE avg(sal)1500 GROUP BY deptno HAVING avg(sal)1500; 注意:HAVING子句作用于组,WHERE子句作用于记录。先根据WHERE条件 查询记录,最后根据HAVING条件决定哪些组返回。 SQL SELECT job,count(*),avg(sal) FROM emp WHERE deptno=20 GROUP BY job HAVING avg(sal)1000; (5)分组查询 使用ROLLUP 和CUBE 如果在GROUP BY子句中使用ROLLUP选项,则还可以生成横向统计和不分组统计; 如果在GROUP BY子句中使用CUBE选项,则还可以生成横向统计、纵向统计和不分组统计。 例10:查询各个部门各个工种的平均工资、每个部门的平均工资和所有员工的平均工资。 例11:查询各个部门中各个工种的平均工资、每个部门的平均工资、每个工种的平均工资和所有员工的平均工资。 SQL SELECT deptno,job,avg(sal) FROM emp GROUP BY ROLLUP(deptno,job); SQL SELECT deptno,job,avg(sal) FROM emp GROUP BY CUBE(deptno,job); (5)分组查询 合并分组查询 使用GROUPING SETS可以将几个单独的分组查询合并成一个分组查询。 例如,查询各个部门的平均工资和各个工种的平均工资。 SQL SELECT deptno,job,avg(sal) FROM emp GROUP BY GROUPING SETS(deptno,job); (5)分组查询 注意: GROUP BY子句用于指定分组列或分组表达式。 分组函数用于对分组进行统计。如果未对查询分组,则分组函数将作用于整个查询结果;如果对查询结果分组,则分组函数将作用于每一个组,即每一个分组都有一个集合函数。 HAVING子句用于限制分组的返回结果。 WHERE子句对表中的记录进行过滤,而HAVING子句对分组后形成的组进行过滤。 在分组查询中,SELECT子句后面的所有目标列或目标表达式要么是分组列,要么是分组表达式,要么是分组函数。 指出现在GROUP BY子句中的列或表达式 (5)分组查询 3.3 在SQL中使用函数 SQL函数分类 数值函数 字符函数 日期函数 转换函数 其他函数 SQL函数分类 根据参数作用行数的不同,可以分为: 单行函数:输入一行,输出也还是一行。检索一行处理一次。 多行函数:输入多行数据,输出是一个结果。检索出来的数据分成组后再进行处理。 根据参数类型不同,可以分为: 数值函数 字符函数 日期函数 转换函数 聚集函数 (1)数值函数 指函数的输入、输出都是数值型数据。常用的数值函数如下表: 函数 返回值 ABS(n) 返回

文档评论(0)

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

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

1亿VIP精品文档

相关文档