啦啦啦29

2020-06-02   阅读量: 900

数据分析师 Mysql

MySQL中的多表查询和联合查询

扫码加入数据分析学习群

多表查询 :通过不同表中具有相同意义的关键字段,将多个表进行连接,查询不同表中的字段信息

连接方式 :内连接和外连接(左连接和右连接)

多表连接的结果通过三个属性决定:

• 方向性:在外连接中写在前边的表为左表、写在后边的表为右表

• 主附关系:主表要出所有的数据范围,附表与主表无匹配项时标记为null,内连接时无主附表之分

• 对应关系:关键字段中有重复值的表为多表,没有重复值的表为一表(一表作为主表可以保证维度的完整性,多表作为主表可以保证度量的准确性)

(维度:用来分组的字段,包括无需分类字段和有序分类字段;度量:用来聚合运算的数值字段,可以进行加减乘除运算)

内连接 :按照连接条件合并两个表,返回满足条件的行。

select 字段1[,…] from 表1[ inner] join 表2 on 表1.key=表2.key;

左连接 :结果中除了包括满足连接条件的行外,还包括左表的所有行。 (左主表右附表)

select 字段1[,…] from 表1 left join 表2 on 表1.key=表2.key;(查询方式:表2里的各条记录与表1里的每一条记录一一对应查询,例:表2里的第一条记录与表1里的每一条记录

右连接 :结果中除了包括满足连接条件的行外,还包括右表的所有行。 (右主表左附表)

select 字段1[,…] from 表1 right join 表2 on 表1.key=表2.key;(查询方式:表1里的各条记录与表2里的每一条记录一一对应查询,例:表1里的第一条记录与表2里的每一条记录)

联合查询 :把多条select语句的查询结果合并为一个结果集。

被合并的结果集的列数、顺序和数据类型必须完全一致

union去重:select 字段1[,字段2,…] from 表名 union select 字段1[,字段2,…] from 表名;

union all不去重: select 字段1[,字段2,…] from 表名 union all select 字段1[,字段2,…] from 表名;

13.7853 3 2 关注作者 收藏

评论(0)


暂无数据

推荐课程