紫色代表一级目录
粉红代表二级目录
蓝色代表三级目录
红色代表关键字
橙色代表说明
单查询与组合查询
单查询实例
使用了操作符UNION
组合查询操作符
UNION
UNION 操作符可以组合两个或多个 SELECT 语句的结果,不包含重复的记录。换句话说,如果某行的输出存在于一个查询结果里,那么其他查询结果同一行的记录就不会再输出了。在使用UNION操作符时,每个SELECT语句里必须选择同样数量的字段、同样数量的字段表达式、同样的数据类型、同样的次序——但长度不必一样。
语法:
例:
UNION ALL
UNION ALL操作符可以组合两个SELECT语句的结果,并且包含重复的结果。其使用规则与UNION一样,它与UNION基本上是一样的,只是一个返回重复的结果,一个不返回。
语法:
例:
INTERSECT
INTERSECT 可以组合两个 SELECT 语句,但只返回第一个 SELECT 语句里与第二个SELECT语句里一样的记录。其使用规则与UNION操作符一样。目前MySQL5.0尚不支持INTERSECT,但SQL Server和Oracle全都提供支持。
语法:
例:
EXCEPT
EXCEPT 操作符组合两个 SELECT 语句,返回第一个 SELECT 语句里有但第二个SELECT语句里没有的记录。同样的,它的使用规则与UNION操作符一样。目前MySQL并不支持EXCEPT。而在Oracle中,则使用MINUS操作符来实现同样的功能。
语法:
例:
组合查询里使用ORDER BY
ORDER BY子句可以用于组合查询,但它只能用于对全部查询结果的排序,因此组合查询里虽然可能包含多个查询或SELECT语句,但只能有一个ORDER BY子句,而且它只能以别名或数字来引用字段。
语法:
例:
组合查询里使用GROUP BY
与ORDER BY不同的是,GROUP BY子句可以用于组合查询中的每一个 SELECT语句,也可以用于全部查询结果。另外,HAVING子句也可以用于组合查询里的每个SELECT语句。
语法:
例: