mysql必知必会学习笔记(1)

chapter 13

13.1 数据分组mysql

若是要将数据分为多个逻辑组怎么办??sql

要用数据分组调试

 

13.2 建立分组排序

使用group by子句。group by会指示对mysql进行分组,而后对每一个组进行汇集。select

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

 

13.2 过滤分组im

因where条件筛选中并无分组概念,须要用having进行分组过滤,having支持全部的where操做符。数据

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

 

13.4 分组和过滤vi

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  建立联结

再次强调彻底限定列名的重要性。

相关文章
相关标签/搜索