mysql把两个查询的结果合并为一个结果_探索SQL-多表查询

  • Post author:
  • Post category:mysql



一、表的加法(Union)

1、用法:将两个表合并成一个表

b299cdadfdec3fda624ba211df22fcd1.png

2、语句:

select 

*需保留重复行*

select 查询结果
from 从哪张表查询
union all
select 查询结果
from 从哪张表查询


练习:

将课程表及课程表1合并在一起

课程表1:

1dd4140cf5c4a6a767a6a9fef7c25111.png

课程表2:

27ba4b0014ac38ede67f84e5be8014f4.png


合并结果:

1)不保留重复行

a510f090a71f8d9284c747122f3e84c1.png

2)保留重复行

c0d0c459be43e76d4d663bb8cdcd0760.png


二、表的联结

联结:表和表之间是通过列产生关系,联结就是通过表和表之间关系将两个表合并在一起的操作。

表的联结分为:交叉联结(cross join)、内联结(inner join)、左联结(left join)、右联结(right join)、全联结(full join);内联结、左联结、右联结这3种是较常用的联结方法。

1、交叉联结(cross join)

将表的每一行与另一个表的每一行联结在一起,行数是两个表行数的乘积;不常用,结果行数太多。

2、内联结(inner join)</