1.数据分组
HAVING和WHERE区别:
二者都是过滤条件,WHERE运行在分组前,因此不能执行任何聚合函数。HAVING是运行在分组后,只能用做聚合函数的过滤。
2.SQL执行顺序
第一步:执行FROM
第二步:WHERE条件过滤
第三步:GROUP BY分组
第四步:执行SELECT投影列
第五步:HAVING条件过滤
第六步:执行ORDER BY 排列
在分组查询中,能够查询的字段,只能是分组字段和聚合函数。
3.数据库完整性概述
为了防止垃圾数据的产生,从而影响数据库的执行效率,
1.实体完整性,保证一行数据是有效的
2.域完整性,保证一列数据是有效的
3.引用完整性,保证引用的编号是有效的
4.用户自定义完整性,保证自定义规则。