k_0711

2020-07-31   阅读量: 376

Mysql

多表查询与联合查询

多表查询

为了节省存储空间,避免数据冗余,有时候需要把表拆分开,那么面对拆分开的表时,就需要用多表查询的方式查找数据

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

-----------------------------------------------------------------------------------------------------------------

连接方式

内连接

外连接(左连接和右连接)

-----------------------------------------------------------------------------------------------------------------

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

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

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

对应关系:关键字段中有重复值的表为多表,没有重复值的表为一表

-----------------------------------------------------------------------------------------------------------------

内连接

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

select 字段1[,…] from 表1[inner] join 表2 on 连接条件;

左连接

结果中除了包括满足连接条件的行外,还包括左表的所有行。

select 字段1[,…] from 表1 left join 表2 on 连接条件;

右连接

结果中除了包括满足连接条件的行外,还包括右表的所有行。

select 字段1[,…] from 表1 right join 表2 on 连接条件;

==================================================================

联合查询

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

  • 被合并的结果集中字段的个数,顺序和数据类型必须完全一致

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

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


39.8295 4 2 关注作者 收藏

评论(0)


暂无数据

推荐课程