SQL - union

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

SQL UNION 语法

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

SQL UNION ALL 语法

SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

举例分析:

下面有两个表:student表, teacher表

student表:

数据:

 

 

teacher表:

数据:

 sql: 

SELECT id as 学号id, NAME as 姓名 FROM student UNION
SELECT id, NAME FROM teacher;

查询结果:

如果这时候将teacher表的数据修改一条数据和student中的一条相同,如下:

修改后teacher表的数据:

这时候执行sql:

SELECT id as 学号id, NAME as 姓名 FROM student UNION 
SELECT id, NAME FROM teacher;

结果为:

从而可以看出union是可以去重的。

若执行union all 如下:

SELECT id AS 学号id, NAME AS 姓名 FROM student UNION ALL
SELECT id, NAME FROM teacher;

 结果为:

 

posted @ 2019-04-17 18:50  myseries  阅读(228)  评论(0编辑  收藏  举报