sql语言之集合的运算和比较
2007-05-01 19:48
253 查看
集合的运算和比较
集合的运算
有UNION,INTERSECT,EXCEPT等操作,分别表示并,交,差等运算。用于创建一个联合查询,它组合了两个或更多的独立查询或表的结果。参加运算的查询,必须请求相同的属性集。
按照缺省规定,使用集合的运算时不返回重复的记录;然而,可以包含 ALL 谓词来确保返回所有的记录。这样,运行查询的速度也会快些。
只能在第一个 SELECT 语句中使用别名,因为它们在其他语句中已被省略。在ORDER BY子句中,可引用在第一个 SELECT 语句中被调用的字段名。
集合的比较
sql允许>some,>=some,<some,<=some,=some,<>some,>all,>=all,<all,<=all,=all,<>all等运算,其中>some的意思是至少比某一个要大,>all的意思是比所有的都大。
例子:
//找出平均余额大于等于所有平均余额的支行
select branch_name from account group by branch_name having avg(balance) >= all(select avg(balance) from account group by branch_name)
其他一些比较:
exists(),not exists()测试一个子查询中是否有元组
unique(),not unique()测试一个子查询中是否有重复元组
参考书:数据库系统概念
集合的运算
有UNION,INTERSECT,EXCEPT等操作,分别表示并,交,差等运算。用于创建一个联合查询,它组合了两个或更多的独立查询或表的结果。参加运算的查询,必须请求相同的属性集。
按照缺省规定,使用集合的运算时不返回重复的记录;然而,可以包含 ALL 谓词来确保返回所有的记录。这样,运行查询的速度也会快些。
只能在第一个 SELECT 语句中使用别名,因为它们在其他语句中已被省略。在ORDER BY子句中,可引用在第一个 SELECT 语句中被调用的字段名。
集合的比较
sql允许>some,>=some,<some,<=some,=some,<>some,>all,>=all,<all,<=all,=all,<>all等运算,其中>some的意思是至少比某一个要大,>all的意思是比所有的都大。
例子:
//找出平均余额大于等于所有平均余额的支行
select branch_name from account group by branch_name having avg(balance) >= all(select avg(balance) from account group by branch_name)
其他一些比较:
exists(),not exists()测试一个子查询中是否有元组
unique(),not unique()测试一个子查询中是否有重复元组
参考书:数据库系统概念
相关文章推荐
- 笔记-Microsoft SQL Server 2008技术内幕:T-SQL语言基础-06 集合运算
- SQL 基础--> 集合运算(UNION 与UNION ALL)
- sql 集合运算
- sql语句 集合之间的重叠取值 区间取值比较 薪资范围
- 数据库中的数据运算,有的SQL能实现,程序语言同样能实现,是用SQL运算?还是用程序语言?
- PL/SQL三种集合类型的比较<收藏>
- PL/SQL三种集合类型的比较
- SQL集合运算参考及案例(一):列值分组累计求和
- SQL集合运算:差集、交集、并集
- SQL集合运算参考及案例(二):树形节点数量逐级累计汇总
- SQL集合运算参考及案例(一):列值分组累计求和
- SQL 基础--> 集合运算(UNION 与UNION ALL)
- SQL Server Null的比较运算(转)
- 妙用sql的统计进行集合的比较
- SQL集合运算 差集 并集 交集
- sql的基础语句-单行函数,dual,数字函数,日期函数,表连接,集合运算,分组报表,单行子查询,多行子查询
- 03.Java语言基本语法之运算符,算数、赋值、比较、逻辑、位、三元运算等
- SQL 基础--> 集合运算(UNION 与UNION ALL)
- java语言基础之4种代码块以及构造函数比较大集合-java基础精品笔记-作者:逝秋
- [疯狂Java]SQL:对查询结果进行集合运算