目录
DQL-分组查询
语法
SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后过滤条件 ];
在做题之前,大家可以发现这条语句中,有两个地方是指定条件的,一个是where之后的条件,一个是having之后的条件,那么肯定有疑问,where和having之间到底有什么区别?
案例:
1.根据性别分组 , 统计男性员工 和 女性员工的数量
2.根据性别分组 , 统计男性员工 和 女性员工的平均年龄
select gender, avg(age) from emp group by gender ;
执行结果如下:
3.查询年龄小于35的员工 , 并根据工作地址分组 , 获取员工数量大于等于3的工作地址
4.统计各个工作地址上班的男性及女性员工的数量
分组查询注意事项:
DQL- 排序查询
排序在日常开发中是非常常见的一个操作,有升序排序,也有降序排序。
语法
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2 ;
案例:
1.根据年龄对公司的员工进行升序排序
select * from emp order by age asc;
select * from emp order by age;
执行如图 :
如果要进行降序排序则对asc进行一个替换,替换为desc即可
2.根据入职时间对员工进行降序排序
select * from emp order by entrydate desc;
执行结果如图:
此时可观察到降序
3.根据年龄对公司的员工进行升序排序 , 年龄相同 , 再按照入职时间进行降序排序
select * from emp order by age asc , entrydate desc ;