【Oracle 数据库】奶妈式教程day03 排序查询
排序分组
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;
SQL语句执行顺序
FROM
WHERE
GROUP BY
HAVING
SELECT
ORDER BY
2 聚合函数
聚合函数:对一组值执行计算,并返回单个值。
count(列名|*|常数):它求记录数(数据条数)
max(列名):取最大值
min(列名):取最小值
avg(列名):取平均值
sum(列名):求和
举例:查询员工表中的员工人数
SELECT COUNT(empno) FROM emp;
SELECT COUNT(*) FROM emp;
SELECT COUNT(1) FROM emp;
count(主键列或索引列)
count(*)
count(常数)
count(普通列)
它们执行效率从上到下,依次降低。
null值不会参与 count计数。
举例:查询emp表中的部门数
select count(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|desc
group by:分组的关键字,后面跟分组列名,可以是一个分组列,也可以是多个列
举例:查询各个部门的部门编号和部门的平均工资
select deptno,avg(sal) from emp group by deptno;
举例:查询各个部门的员工人数
select deptno,count(empno) from emp group by deptno;
select job,deptno,count(*) from emp group by job,deptno;
注意:group by 后面跟多个列时,只有当多个列的值同时相等时,它才会分为同一个组;
4 HAVING
select col_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 数据库】奶妈式教程day03 排序查询相关推荐
- 【Oracle 数据库】奶妈式教程 day09 子查询
子查询 子查询指一个查询语句嵌套在另一个查询语句内部的查询 1.from后面的子查询 举例:查询员工的姓名和他上级的姓名 SELECT E.*, E2.EMPNO, E2.ENAME MNAME, E ...
- mysql数据库项目式教程答案_MySQL数据库项目式教程(高职高专国家示范性院校十三五规划教材)...
导语 内容提要 郭水泉.关丽梅.王世刚主编的<MySQL数据库项目式教程(高职高专国家示范性院校十三五规划教材)>详细介绍了如何安装.管理.备份.维护和优化一个MySQL系统.全书分为八个 ...
- oracle数据库的基本教程 pdf,Oracle数据库技术基础教程 PDF 下载
相关截图: 资料简介: 本书主要介绍Oracle数据库的基本概念.知识和技术,注重培养Oracle数据库技术的基本操作技能.本书内容体系完整,覆盖了Oracle数据库技术的主要组成部分,设置有Orac ...
- 【Oracle 数据库】奶妈式教程day15 DDL、DML、索引、视图、序列、死锁这一篇就够了
表操作 创建表 -- 创建新表 create table 表名(字段名 类型(长度),...其他字段... );-- 数据类型VARCHAR2(size) 可变长度的字符串,最大长度为size个字节: ...
- Oracle数据库之安装教程
一.从官网下载oracle数据库或者我的博客 官网地址:Oracle数据库下载地址 博客地址:博客下载地址 二.安装数据库 注意: 10g的数据库只能在xp操作系统中才有效. 建议安装在虚拟机上,这样 ...
- Oracle数据库初学者入门教程
Oracle数据库是相对于其他数据库来说比较难的一个.Oracle Database,又名Oracle RDBMS,简称Oracle.是甲骨文公司推出的一款关系数据库管理系统.Oracle数据库系统是 ...
- oracle数据库12cocp培训教程,OCA/OCP认证考试指南全册(第3版) Oracle Database 12c 中文pdf扫描版[164MB]...
完备的OCA(1Z0-061.1Z0-062)和OCP(1Z0-063)考试指南<OCA/OCP认证考试指南全册(第3版)>是为OCA和OCP考试准备的指南.<OCAOCP认证考试指 ...
- Oracle数据库的基本使用和高级查询
1.Oracle体系结构 本次使用的是Oracle18c数据库版本 java学习交流Q群:1004577069 1>数据库Oracle数据库时数据的物理存储,这就包括(数据库文件ORA或者DBF ...
- oracle数据库12cocp培训教程,ORACLE OCP认证 12C课程大纲
一.SQL Workshop I(SQL语言) * SQL简介* SELECT 查询语句* 限制和排序数据* 单行函数及自定义输出格式 * 转换函数与条件表达式 * 分组函数以及聚合操作 * 多表查询 ...
最新文章
- MapReduce编程系列 — 2:计算平均分
- LNK1181 无法打开输入文件“myelin64_1.lib“
- html解析的简单方式,HTML解析看我就够了,不依赖任何第三方,两个方法搞定
- delphi 窗体的释放
- LeetCode 1048. 最长字符串链(哈希+DP)
- mongod启动问题
- 步步惊芯 软核处理器的内部设计分析 pdf_【深度分析】互联网巨头造“芯”现状...
- win11没有uefi如何安装 windows11跳过uefi模式的安装方法
- IO库----IO类,文件输入输出,string流
- 从 0 基础到 10w 册数据分析书籍的畅销书作家
- ListView组件的应用
- 【Uplift】评估方法篇
- 【Python基础知识整理】
- Opencv中的DPM应用
- JSP作业提交管理系统(JSP作业管理系统)JSP学生作业管理JSP教师作业批改业提交管理系统
- 一年省一,两年国集,高二斩获世界金牌,他有哪些经验值得借鉴?
- 19、android面试题整理(自己给自己充充电吧)
- android获取应用权限管理,如何在android中获取应用程序权限设置?
- .msg转换成html,msg文件怎么打开
- O2O优惠券使用数据分析