union all语句,查询两个表集合再进行查询

作者:Liaodeity - 2015年03月10日

在建站的过程中,有什么需要使用mysql的一些高级语法,才能进行操作

查询两个表的集合,再对集合的数据进行二次查询,从而实现查询不同的两个表的数据集合

请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

如果两表的结构不相同,某个字段另一个表没有的时候,可以设置一个NULL的相同别名。

table_name2没有a字段,但是要有相同数量的列,所以我们可以为table_name2设置一个null的别名,这样集合就不会报错了。

SELECT a,b FROM table_name1
UNION ALL
SELECT null as a,b FROM table_name2

这样也是可以的,在对应的列直接设置null

SELECT a,b FROM table_name1
UNION ALL
SELECT null,b FROM table_name2

UNION 语法的使用如下:

select
*
from
(
[SQL 语句 1] 
UNION 
[SQL 语句 2] 
) tmp
where 姓名 like '李%'

UNION ALL语法的使用如下:

SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2


本文作者: Liaodeity

本文链接: https://www.jianbaizhan.com/article/93

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!


 请勿发布不友善或者负能量的内容。审查将对发布广告等违规信息进行处罚!