02 MySQL 查询

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 聚合是统计的结果

 

 

 

 

 

 

 

 

 

 

 分组的目的就是为了更好的进行统计

 非分组字段不能出现在结果集中

没有分组下面这个你要怎么实现?

 

 

 where 和 having 面向的数据集是不一样的

where 是对 from 后面的数据进行筛选

having 是对分组后的结果集进行筛选

 

 

 

 

 

排序

order by 是写在 where 的后面

 

 

 

 

 

 

 

 分页

 

 

 

 

 

having 对聚合的结果进行行筛选

 存储关系

 

 

 关系也是数据

 

 

 

 

 

 

 

 

 

故意弄个错的

外键约束导致插入语句失败

 

 如果我把 学生表 里 id = 1 的学生记录删除,成绩表 里那些 stuid = 1 的记录会不会受到影响呢?

 

 

多个表之间需要连接起来查询

 

注意和上图哪里不同

 

 

连接查询一共有三种,区别是结果集不一样 

 

 

 

 

以左表的信息为准 

 

 

 

 innerjoin 两个表都能匹配的结果出现在结果集中

left join 两个都能匹配上的出现 + 左表独有的出现没有的用null填充

 

 

 

 

分组的目的是为了统计和聚合

 

 

posted @ 2018-02-01 23:01  有山有水有鬼  阅读(106)  评论(0编辑  收藏  举报