02 MySQL 查询
聚合是统计的结果
分组的目的就是为了更好的进行统计
非分组字段不能出现在结果集中
没有分组下面这个你要怎么实现?
where 和 having 面向的数据集是不一样的
where 是对 from 后面的数据进行筛选
having 是对分组后的结果集进行筛选
排序
order by 是写在 where 的后面
分页
having 对聚合的结果进行行筛选
存储关系
关系也是数据
故意弄个错的
外键约束导致插入语句失败
如果我把 学生表 里 id = 1 的学生记录删除,成绩表 里那些 stuid = 1 的记录会不会受到影响呢?
多个表之间需要连接起来查询
注意和上图哪里不同
连接查询一共有三种,区别是结果集不一样
以左表的信息为准
innerjoin 两个表都能匹配的结果出现在结果集中
left join 两个都能匹配上的出现 + 左表独有的出现没有的用null填充
分组的目的是为了统计和聚合