MySQL UNION操作符

 UNION 操作符

描述:

  UNION操作符用于连接两个以上的SELECT语句的结果组合到一个结果集合中,多个select语句会产出重复的数据

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

语法:

--UNION 用法
SELECT 字段,字段1,字段2.... 
  FROM 表名
  WHERE
  约束条件
UNION
SELECT 字段,字段1,字段2....
  FROM 表名
  WHERE
  约束条件

--UNION ALL用法

SELECT 字段,字段1,字段2....
  FROM 表名 
  WHERE
  约束条件
UNION ALL
SELECT 字段,字段1,字段2....
  FROM 表名
  WHERE
  约束条件

语句注解:

  字段:要检索的列

  表名:要检索的数据表

  约束条件:需要检索的条件

  DISTINCT:可选,删除结果集中重复的数据。默认情况下UNION操作符已经删除了重复数据,所以DISTINCT修饰符对结果没影响,可省略

  ALL:可选,返回所有结果集,包含重复数据  。默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

示例:

这是两张数据表,我们使用UNION查询下:

                           

 

 

 

查询两个表中的所有学名称

SELECT
    a.BEI_NAME 
FROM
    beimu a 
    
    UNION
    
SELECT
    b.BEI_NAME 
FROM
    beimu_copy1 b

运行结果:

南海
北木 
夸夸
贝珠
11
华北
航三
朱明
22

 

 

 

 

 

 

 

 


如果要查出所有的同学需要加ALL: 从数据表中对比,是少了一位同学,因为UNION命令只会截取不同的值

南海
北木
夸夸
贝珠
11
华北
航三
朱明
贝珠
22

posted @ 2021-01-15 14:00  Centerless  阅读(160)  评论(0)    收藏  举报