mysql必知必会学习笔记

Posted dion至君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql必知必会学习笔记相关的知识,希望对你有一定的参考价值。

chapter 13

13.1 数据分组

如果要将数据分为多个逻辑组怎么办??

要用数据分组

 

13.2 创建分组

使用group by子句。group by会指示对mysql进行分组,然后对每个组进行聚集。

注意:使用group by时,如果在select使用了表达式,则必须在group by 中使用相同的表达式,不可用别名

 

13.2 过滤分组

因where条件筛选中并没有分组概念,需要用having进行分组过滤,having支持所有的where操作符。

having与where的区别:where过滤行,having过滤分组

 

13.4 分组和过滤

order by 与 group by

一般在使用group by时,也要用order by子句排序,千万不要依赖group by的默认排序。

select子句顺序,

 

 

 

chapter 14 使用子查询

14.1  子查询subquery

子查询的概念:  嵌套在其他查询中的查询。

 

14.2  利用子查询进行过滤

在select语句中,子查询总是从内向外处理。但包含子查询的SQL语句难以调试和阅读

 

14.3  作为计算字段使用子查询

相关子查询:涉及到外部查询的子查询,在where条件中应使用完全限定列名,防止出现错误的查询结果。

 

常见使用场景:

where子句中的IN操作符,以及填充计算列

 

chapter 15 联结表

15.1  联结(join)表

 

15.1.1 为什么要出现关系表?

场景模拟:将相关源的数据分类保存

主键primary key与外键foreign key的概念:主键为唯一标识

外键是某表中的一列,包含了另一张表的主键值,定义了两表间的关系

 

如何维护引用完整性?通过在表定义中指定主键和外键实现。

 

15.2  创建联结

再次强调完全限定列名的重要性。

以上是关于mysql必知必会学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

《mysql必知必会》读书笔记--存储过程的使用

《MySQL必知必会学习笔记》:正则表达式

mysql必知必会学习笔记

《MySQL必知必会学习笔记》:子查询

读《MySql必知必会》笔记

《mysql必知必会》笔记-部分