- UNION
UNION子句/运算符用于将两个或者更多的 SELECT 语句的运算结果组合起来 (不会返回重复的数据)
在使用 UNION 的时候,每个 SELEC 的列表达式、相同的数据类型,并且他们出现的次序要一致,不过长度不一定要相同,类名也不一定要相同
语法
SELECT column1 [, column]
FROM table [,table2]
[WHERE condition]
UNION
SELECT column1[,column2]
FROM table1 [,table2]
[WHERE condition]
案例
连接两张表
SELECT ID,NAME,AMOUNT,DATE
FROM CUSTOMERS
LEFT JOIN ORDERS
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID
UNION
SELECT ID,NAME,AMOUNT,DATE
FROM CUSTOMERS
RIGUT JION ORDERS
ON CUSTOMERS.ID = ORDERS,CUSTOMER_ID
输出结果
- UNION ALL
与UNION基本一致,只是它返回重复的结果,而UNION不会
- UNION 与 UNION ALL操作如下
- INTERSECT
用于组合两个SELECT 语句,但是返回第一个SELECT 语句中与第二个 SELECT 语句里一样的记录,其他规则与UNION操作符一样
注
目前MySQL 5.0尚不支持,INTERSECT,但SQL Server和 Oracle全都支持
- EXCEPT
但会第一个SELECT 语句里有但第二个 SELECT 语句没有的记录,同样的,其他使用规则与UNION一致
注
MySQL并不支持EXCEPT ,而Oracle中,则使用MINUS操作符来实现同样的功能