转载自:https://blog.csdn.net/pan_junbiao/article/details/86010075
UNION和UNION ALL(合并查询结果)
合并查询结果是将多个SELECT语句的查询结果合并到一起。合并查询结果使用UNION和UNION ALL关键字。
(1)使用UNION关键字是将所有查询结果合并到一起,然后去除相同的记录。
(2)使用UNION ALL关键字则是将所有的结果合并到一起。
从效率上说,UNION ALL要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL。
**示例:**使用UNION和UNION ALL关键字将用户1表和用户2表的姓名字段的数据合并到一起。
首先创建用户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');
1、使用UNION关键字
SELECT user_name FROM tb_user1
UNION
SELECT user_name FROM tb_user2
执行结果:
user_name |
---|
pan_junbiao的博客 |
KevinPan |
Johnny |
Matthew |
Karl |
Vivien |
结果显示,使用UNION关键字将所有的查询结果合并到了一起,并去除了重复值。
2、使用UNION ALL关键字
SELECT user_name FROM tb_user1
UNION ALL
SELECT user_name FROM tb_user2
执行结果:
user_name |
---|
pan_junbiao的博客 |
KevinPan |
Johnny |
Matthew |
pan_junbiao的博客 |
KevinPan |
Karl |
Vivien |
结果显示,使用UNION ALL关键字将所有的查询结果合并到了一起。