DQL
*DQL(英文全称Data Query Language,数据查询语言)用来查询数据表中的记录
关键字:SELECT
基本查询
查询所有字段不推荐用*的原因是不直观,性能低
条件查询
分组查询
分组查询
分组字段select后面返回的字段主要包含分组字段和聚合函数
eg:
select tb_emp.gender,count(*) from tb_emp group by gender;-- 从tb_emp表格中用gender分组,并计算各组数目
select tb_emp.gender,count(*) from tb_emp group by gender having count(*) > 10;-- 在having之后再写分组过后的过滤条件
*where和having的区别
where是在分组前的判断,不满足where条件的不参与分组,而having是在分组之后对结果进行过滤的。
where不能对聚合函数进行判断,而having可以。
执行顺序:where>聚合函数>having
聚合函数
count函数推荐用*,因为底层特地进行了优化。
null值不参与所有聚合函数运算。