MySQL使用UNION和UNION ALL关键字合并查询结果

合并查询结果是将多个SELECT语句的查询结果合并到一块儿。合并查询结果使用UNION和UNION ALL关键字。sql

(1)使用UNION关键字是将全部查询结果合并到一块儿,而后去除相同的记录code

(2)使用UNION ALL关键字则是将全部的结果合并到一块儿。blog

从效率上说,UNION ALL要比UNION快不少,因此,若是能够确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL。博客

示例:使用UNION和UNION ALL关键字将用户1表和用户2表的姓名字段的数据合并到一块儿。class

首先建立用户1表和用户2表,并添加相关数据。效率

-- 建立用户1表
CREATE TABLE tb_user1(
	user_name VARCHAR(30)
);

-- 添加数据到用户1表
INSERT INTO tb_user1 VALUES('pan_junbiao的博客'),('KevinPan'),('Johnny'),('Matthew');

-- 建立用户2表
CREATE TABLE tb_user2(
	user_name VARCHAR(30)
);

-- 添加数据到用户2表
INSERT INTO tb_user2 VALUES('pan_junbiao的博客'),('KevinPan'),('Karl'),('Vivien');

一、使用UNION关键字

SELECT user_name FROM tb_user1
UNION
SELECT user_name FROM tb_user2

执行结果:im

结果显示,使用UNION关键字将全部的查询结果合并到了一块儿,并去除了重复值。数据

二、使用UNION ALL关键字

SELECT user_name FROM tb_user1
UNION ALL
SELECT user_name FROM tb_user2

执行结果:查询

结果显示,使用UNION ALL关键字将全部的查询结果合并到了一块儿。img