- 【第二阶段 | MySQL语句详解=核心查询=单表查询】
- 排序 ORDER BY
- 聚合函数
- 1 查询员工的总数 select count() from emp; select count(1) from emp; select count(eid) from emp; — count函数会忽略空值 #2 查看员工总薪水、最高薪水、最小薪水、薪水的平均值 select sum(salary),max(salary),min(salary),avg(salary)from emp; #3 查询薪水大于4000员工的个数 select count() from emp where salary>4000 ; #4 查询部门为’教学部’的所有员工的个数 select count(*) from emp where dept_name = ‘教学部’; #5 查询部门为’市场部’所有员工的平均薪水 select avg(salary) from emp where dept_name = ‘教学
- 分组
- limit关键字
【第二阶段 | MySQL语句详解=核心查询=单表查询】
创建时间: | 2021/4/13 20:53 |
---|---|
更新时间: | 2021/4/13 23:12 |
作者: | 云雲 |
排序 ORDER BY
语法:SELECT 字段名 FROM 表名 [WHERE 字段 = 值] ORDER BY 字段名 [ASC / DESC]
单列排序
需求1:使用 salary 字段,对emp 表数据进行排序 (升序/降序)
— 默认升序排序 ASC SELECT FROM emp ORDER BY salary; — 降序排序 SELECT FROM emp ORDER BY salary DESC;
组合排序
同时对多个字段进行排序, 如果第一个字段相同 就按照第二个字段进行排序,以此类推
需求2:在薪水排序的基础上,再使用id进行排序, 如果薪水相同就以id 做降序排序
— 组合排序 SELECT * FROM emp ORDER BY salary DESC, eid DESC;
聚合函数
聚合函数是对某一列的值进行计算,然后返回单一值。
聚合函数 | 功能 |
---|---|
count | 统计指定列不为null的行数 |
sum | 求和 |
max | 求最大值 |
min | 最小值 |
avg | 平均值 |
1 查询员工的总数 select count() from emp; select count(1) from emp; select count(eid) from emp; — count函数会忽略空值 #2 查看员工总薪水、最高薪水、最小薪水、薪水的平均值 select sum(salary),max(salary),min(salary),avg(salary)from emp; #3 查询薪水大于4000员工的个数 select count() from emp where salary>4000 ; #4 查询部门为’教学部’的所有员工的个数 select count(*) from emp where dept_name = ‘教学部’; #5 查询部门为’市场部’所有员工的平均薪水 select avg(salary) from emp where dept_name = ‘教学
分组
分组查询指的是使用 GROUP BY 语句,对查询的信息进行分组,相同数据作为一组
— 语法 SELECT 分组字段/聚合函数 FROM 表名 GROUP BY 分组字段 [HAVING 条件];
— 需求1: 通过性别字段 进行分组 select * from emp group by sex; — 没有实际意义 — 需求2: 通过性别字段 进行分组,求各组的平均薪资 select sex,avg(salary) from emp group by sex;
#1.查询每个部门的平均薪资 select dept_name,avg(salary) from emp group by dept_name; #2.查询每个部门的平均薪资, 部门名称不能为null select dept_name,avg(salary) from emp where dept_name is not null group by dept_name; # 查询平均薪资大于6000的部门. select dept_name,avg(salary) from emp where dept_name is not null group by dept_name HAVING avg(salary)>6000 ;
limit关键字
limit 关键字的作用
limit是限制的意思,用于 限制返回的查询结果的行数 (可以通过limit指定查询多少行数据)
limit 语法是 MySql的方言,用来完成分页