mysql中对于不同表的搜索结果可进行union(联合、合并)


union通常有两种不同的方法,分别为

union 联合所有,对相同结果过滤

union all 联合所有,对相同结果不过滤


union时,需要注意结果列数相同,如果列数目不同会提示错误


如下:

我们检索该数据库:



一共有4条数据,分别为44 1 2 3

我们使用union进行链接:

 


我们发现结果和直接进行select一致。

实际上已经进行了union的操作,只不过由于结果是一致的,所有系统自动过滤相同结果。

如下,使用union all




针对union,我们只需要记住:

1、合并检索结果列数要一致

2、union 会过滤相同结果集,union all 不会过滤相同结果集。

3、union 子句中的order by 不起作用。