1、排序

select 列名,列名,..,列名 from 表名 where 条件表达式 order by 排序列的列名 asc|desc;asc|desc: asc表示升序,desc表示降序--查询员工信息,按照员工的工资升序排序
select * from emp order by sal asc;  ---如果是升序排序,asc可以省略
select * from emp order by sal;--查询员工信息,按照员工编号降序排序
select * from emp order by empno desc;order by :后面可以跟多个排序列,跟多个排序列时,
它的含义:按照第一排序列(紧跟前order by 关键字的列)排序,
如果第一个排序字段的值相同时,它会按照第二个排序字段进行排序--查询员工信息,按照部门编号升序排序,如果部门编号相同时,按照工资的升序排序select * from emp order by deptno asc,sal asc;--查询员工信息,按照部门编号降序排序,如果部门编号相同,按照员工编号升序排序select * from emp order by deptno desc,empno;--查询员工的编号、姓名、工作、工资、部门编号,按照部门编号升序排序,如果部门相同时,按照工资降序排序
select empno,ename,job,sal,deptno from emp order by deptno,sal desc;注意:order by 后面除了可以跟表中的列名外,还可以跟select 和from之间查询结果的序号
select empno,ename,job,sal,deptno from emp order by 5,4 desc;select empno,sal,job,ename,deptno from emp order by 5,2 desc;

2、聚合函数

聚合函数:对一组值执行计算,并返回单个值
count(列名|*|常数):它求记录数(数据条数)
max(列名):取最大值
min(列名):取最小值
avg(列名):取平均值
sum(列名):求和--查询员工表中的员工人数
select count(empno) from emp;
select count(*) from emp;
select count(1) from emp;count(主键列或索引列)
count(*)
count(常数)
count(普通列)
它们执行效率从上到下,依次降低--查询emp表中的部门数
select count(deptno) from emp;
select deptno from emp;distinct:去重关键字,跟在列的最前面
select distinct deptno from emp;select count(distinct deptno) from emp;select empno,distinct deptno from emp;  --这个sql语句是错误的select distinct empno,deptno from emp;  注意:distinct后面跟多个列时,判断重复数据,所有列的值完全相同时,它才会认为是重复数据--查询工资总和
select sum(sal) from emp;--查询员工的平均工资
select avg(sal) from emp;--查询10号部门的最高工资
select max(sal) from emp where deptno=10;--查询最低工资
select min(sal) from emp;

3、分组

select 列名,列名,...,列名 from 表名
where 条件
group by 分组列
order by 排序列 asc|descgroup by:分组的关键字,后面跟分组列名,可以是一个分组列,也可以是多个列--查询各个部门的部门编号和部门的平均工资
select deptno,avg(sal) from emp group by deptno;select empno,min(sal),max(sal),avg(sal),sum(sal),count(*)  from emp group by empno;--查询各个部门的员工人数
select deptno,count(empno) from emp group by deptno;select job,deptno,count(*) from emp group by job,deptno;
注意:group by 后面跟多个列时,只有当多个列的值同时相等时,它才会分为同一个组;

4、having

ol_name,col_name,...,col_name
from 表名
where 条件
group by 分组列
having 条件
order by 排序列having:它是对分组后的数据进行筛选,条件表达式中可以使用聚合函数--查询各个部门的部门编号和部门的平均工资
select deptno,avg(sal) from emp group by deptno;--求平均工资大于2000的部门编号和平均工资
select deptno,avg(sal) from emp group by deptno having avg(sal)>2000;where和having的异同
where:条件,where后面跟的条件比having后的条件先执行,条件中不允许使用聚合函数。
having:条件中可以使用聚合函数,一般having和group by联用。

Oracle学习笔记(三)——排序分组相关推荐

  1. oracle:oracle学习笔记(三)

    oracle:oracle基础知识(三):存储过程.函数笔记,赵强老师 对于视频中涉及java部分的章节省略: 文章目录 存储过程.存储函数 存储过程基本语法 存储函数 带in 和out 参数 存储过 ...

  2. oracle学习笔记三

    函数   字符函数      字符串大小写转换  LOWER (strexp)  返回字符串,并将所有的字符小写  UPPER (strexp)  返回字符串,并将所有的字符大写   INITCAP( ...

  3. oracle是dbms还是dbs,Oracle学习笔记三——DBS

    数据库系统 DBS 即Database System,中文意为"数据库系统",是指带有数据库并利用数据库技术进行数据管理的计算机系统. 什么是数据库系统? 数据库系统DBS(Dat ...

  4. oracle update单引号,Oracle学习笔记:update的字段中包括单引号

    平时update的时候直接更改字段内的值,例如: update table_temp set name = 'Hider' where id = 100; 但更新后的值中包括单引号,则不能按以上方式进 ...

  5. Oracle学习笔记(七)——分组统计查询

    Oracle学习笔记(七)--分组统计查询 基础统计函数的使用 分组统计操作的实现,结合多表查询使用分组统计 常用统计函数 COUNT(*|[DISTINCT]字段) MAX(字段,日期或数字) MI ...

  6. Hive学习笔记三之函数操作

    文章目录 5 函数 5.1 系统内置函数 5.2 常用内置函数 5.2.1 空字段赋值 5.2.2 CASE WHEN THEN ELSE END(类似于java中的switch case) 5.2. ...

  7. Oracle学习笔记---(一)

    Oracle学习笔记---(一) 一 1.Oracle简介     Oracle是以高级结构化查询语言(SQL)为基础的大型关系数据库:是一个对象关系数据库管理系统(ORDBMS).它提供了关系数据库 ...

  8. MySQL学习笔记(三)查询

    写在前面:本篇为作者自学总结,学习内容为课堂所学和网络学习笔记汇总,对于内容引用部分在文中和文末注明. 文章仅供参考,如需深入了解,请查阅MySQL参考手册.附上下载链接: 链接:https://pa ...

  9. oracle:oracle学习笔记(四)循环、光标、异常、瀑布模型

    oracle学习笔记:循环.光标.异常 文章目录 打印Hello World 定义基本变量 引用型变量(单行)` my_name emp.ename%type ` 记录型变量(多行) `emp_rec ...

  10. SurfaceFlinger学习笔记(三)之SurfaceFlinger进程

    概述 本系列是基于android Q 即android10 SurfaceFlinger学习笔记(一)应用启动流程 SurfaceFlinger学习笔记(二)之Surface SurfaceFling ...

最新文章

  1. iPhone开发技巧之工具篇(4)--- 使用afconvert转换WAV文件
  2. java.util.NoSuchElementException: No value present
  3. 关于Spring的IOC和DI
  4. vc的UI编程PngTextButton控件的适用情况
  5. 六一儿童节特辑|哪部“奥特曼”才是90后的心中最爱??数据分析师来告诉你...
  6. windows8 开发教程 教你制作 多点触控Helper可将任意容器内任意对象进行多点缩放...
  7. cookie与Session的区别,以及jQuery怎样操作cookie和Session
  8. 26.逻辑卷管理器(Logical Volume Manager)
  9. 关于数据库、数据仓库、数据湖、数据中台概念和区别
  10. linux内核启动过程分析
  11. 博弈论--取石子游戏
  12. Yield Guild Games:播客专题
  13. 操作系统的完整代码——编写YCOS应用程序
  14. 儒略日转公历 以及 公历转儒略日(python版)
  15. 用C语言基础及数学公式来简单实现土味表白
  16. scrum立会报告+燃尽图(第二周第六次)
  17. Python-pptx ChartData
  18. Unit Test Harness(用具)应该具备什么功能?
  19. Python爬虫入门——爬取贴吧图片
  20. 2022年十大数据泄露事件

热门文章

  1. 资深老师讲解CAD中的旋转命令,值得一学!
  2. 【蚂蚁学Python】Windows系统安装Anaconda问题总结
  3. 计算机毕业设计ssm+vue基本微信小程序的客户资源管理系统
  4. 滴滴出行“盖亚计划”开放脱敏数据,举办首届信号灯挑战赛|CNCC 2017
  5. 能激发购买欲的颜色解说!服装实体店做直播必备!
  6. 解决C4D连接对象+删除不能用 灰色的点不了
  7. 手机端 html 语音输入,移动端HTML5页面开发备忘录
  8. linux ps命令 无效,linux 如何检测是否有ps指令
  9. 企业数智化的“七宗罪”
  10. 北大“一个人的毕业照”主人公,2010级古生物专业独苗,十年后搞起了AI