SQL [UNION]和[UNION ALL]用法

原文鏈接:SQL UNION和UNION ALL用法

一、概述

unionunion 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;

結果中沒有重復記錄小明

image.png

2.2 union all

SELECT name FROM chinese
UNION ALL
SELECT name FROM math;

結果中有重復記錄小明

image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。