UNION子句

UNION子句

用来合并两个子查询的结果。 UNION子句/运算符用于组合两个或多个SELECT语句的结果,自动去掉重复的行

要使用UNION,每个SELECT必须具有相同的列数,相同数量的列表达式,对应位置列的数据类型要兼容,并且列顺序一一对应,但列名不一定要相同。

UNION的基本语法如下:

SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
UNION
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
Code language: CSS (css)

UNION ALL子句

UNION ALL运算符用于组合两个SELECT语句(保留重复行)的结果。 适用于UNION的相同规则也适用于UNION ALL运算符。

SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
UNION ALL
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
Code language: CSS (css)

两个查询结果 必须列一一对应。 示例:

select "ID","Name" from student 
union 
select "ID","Name" from province
Code language: JavaScript (javascript)
  1. UNION:合并结果,自动去重,性能相对差一点(数据库需要做比对去重)
  2. UNION ALL:合并结果,保留全部数据,不去重,速度更快,优先推荐使用(业务不需要去重时)
  3. 前后两个select,列数量必须一致,对应位置数据类型兼容,列名可以不一样,最终结果集列名以第一个select为准。
  4. 错误例子:前后列数量不一致就会直接报错。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注