1.组合查询可以把多个查询的结果组合为一个数据集,而且通常比使用复杂条件
单查询更容易编写。另外,组合查询对于数据检索也具有更强的灵活性。
2.UNION:
UNION操作符可以组合两个或多个SELECT语句的结果,不包含重复记录,在使用UNION
时,每个SELECT语句里必须选择同样数量的字段,同样数量的字段表达式,同样的数据
类型。
基本语法:
SELECT COLUMN1 {,COLUMN2}
FROM TABLE1 [,TABLE2]
[WHERE]
UNION
SELECT COLUMN1 [,COLUMN2]
FROM TABLE1 [,TABLE2]
[WHERE]
3.UNION ALL与UNION的唯一不同就是它能返回重复的结果。
4.INTERSECT:可以组合两个SELECT语句,但只返回第一个SELECT语句里与第二个SELECT
语句里一样的记录,其使用规则与UNION操作符一样。
5.EXCEPT:组合两个SELECT语句,返回第一个SELECT语句里有但第二个SELECT语句里没有个记录
6.组合查询使用ORDER BY:
ORDER BY可以用于组合查询,但它只能用于对全部查询结果的排序,因此组合查询包含
多个SELECT语句,但只能有一个ORDER BY子句,且它只能以别名活数字来引用字段
举例:下面的范例从EMPLOYEE_TBL和EMPLOYEE_PAY_TBL表中返回雇员ID,但是
不显示重复记录,返回结果根据EMP_ID排序:
SELECT EMP_ID FROM EMPLOYEE_TBL
UNION
SELECT EMP_ID FROM EMPLOYEE_PAY_TBL
ORDER BY 1;
7.组合查询使用GROUP BY:
与ORDER BY不同的是,GROUP BY子句可以用于组合查询里的每个SELECT语句