SQL UNION和UNION ALL用法
一、概述
union和union all都用于合并多个查询的结果,用法为:
select * from a union select * from b;select * from a union all select * from b;两者的区别是union all中会有重复记录,而union中没有。
二、示例
创建两张表chinese和math分别表示语文课和数学课的选课情况:
CREATE TABLE chinese (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL
);
INSERT INTO chinese (name) VALUES ("小明"), ("小花"), ("小白"), ("小刚");
CREATE TABLE math (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL
);
INSERT INTO math (name) VALUES ("小明"), ("小李"), ("老王");两张表中有同一条记录小明 。
2.1 使用union
SELECT name FROM chinese
UNION
SELECT name FROM math;结果中没有重复记录小明:

2.2 使用union all
SELECT name FROM chinese
UNION ALL
SELECT name FROM math;结果中有重复记录小明:

评论已关闭