当我们需要从多个MySQL数据库表或查询中检索数据时,可能需要使用联合查询(UNION)。联合查询可以将多个查询的结果组合成一个结果集,这些查询可以来自同一张表、不同的表或是视图。在MySQL中,可以使用UNION或UNION ALL进行联合查询操作,本文将详细介绍这两种联合查询的使用方法,使用示例如下。
UNION
UNION用来组合两个或多个SELECT语句的结果集合,并返回一个结果集合。它的语法格式如下:
SELECT column1, column2..., columnn
FROM table1
UNION
SELECT column1, column2..., column_n
FROM table2
column1, column2..., column_n
,指定要检索的列名;table1, table2
,指定要检索数据的表名。
这里需要注意的是,UNION会去重,即返回的结果集中不会包含重复的数据,如果需要保留重复的数据,可以使用UNION ALL。
下面是一个简单的例子,查询两个表中的数据合并:
SELECT fruits FROM table1
UNION
SELECT fruits FROM table2
UNION ALL
UNION ALL也是用来组合两个或多个SELECT语句的结果集合,但是它不会去重。它的语法格式如下:
SELECT column1, column2..., columnn
FROM table1
UNION ALL
SELECT column1, column2..., column_n
FROM table2
下面是一个查询同一张表中数据的例子,使用UNION ALL:
SELECT fruits FROM table1 WHERE price > 10
UNION ALL
SELECT fruits FROM table1 WHERE price < 5
在这个例子中,我们使用了UNION ALL来将两个查询的结果集合并到一块。第一个SELECT查询语句将会返回价格大于10的水果,第二个SELECT查询语句将会返回价格少于5的水果,使用UNION ALL将这两个结果集组合在一起并返回。
总之,UNION和UNION ALL用于查询数据并将其合并,UNION可以去重,UNION ALL不会去重。在使用时,需要注意所查询的列名要匹配,否则会报错。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mysql联合查询UNION和UNION ALL的使用介绍 - Python技术站