Oracle数据库高级查询(五)集合查询
来源:互联网 发布:好车贷网贷天眼数据 编辑:程序博客网 时间:2024/06/06 18:01
欢迎转载,转载请指明出处http://blog.csdn.net/hncsy403,谢谢
现实需求有时候需要将多个查询组合到一个查询中去
这时就需要使用集合查询操作了
这个操作类似于数学中的交集,并集,和补集的操作
交集就是返回两个查询共有的记录,关键字是INTERSECT
并集是返回各个查询的所有记录,关键字为UNION或者UNION ALL
补集就是返回第一个查询检索出的记录减去第二个查询检索出的记录之后的剩余记录,关键字是MINUS
分完组之后筛选只能使用having关键字,而不能使用where
各种示例如下:
获取一次订单满200元或者订单累计满500元的用户
获取一次订单满200元并且订单累计满500元的用户
获取没有被订购过的商品ID
需要注意的是:
UNION和UNION ALL都可以用在集合查询的并集操作,不过后者比前者效率高
因为UNION查询出的内容剔除重复行,同时默认按第一个查询的第一列升序排列
而UNION ALL不做这些,在业务要求允许时,最好使用效率高的UNION ALL
使用上述关键字连接两个select语句的时候,查询的列数和列的数据类型要一致
UNION在做重复行查询时,不忽略空值,如果有重复的空行则保留一个空行
INTERSECT以及MINUS查询也无重复行,按第一个查询的第一列升序排列
- Oracle数据库高级查询(五)集合查询
- Oracle数据库学习(四)--高级查询
- Oracle数据库高级查询(一)子查询
- Oracle数据库高级查询(二)分页查询
- Oracle数据库高级查询(三)连接查询
- Oracle数据库的高级查询(多表查询)
- 【Oracle数据库】高级子查询
- Oracle数据库高级查询案例
- Oracle数据库(五)多表查询
- Oracle(五)--> 高级子查询(二)
- oracle高级查询之连接查询、集合运算
- Oracle数据库高级查询(四)子查询和连接查询的综合案例
- Oracle数据库的高级查询(基础部分)
- Oracle数据库高级查询 -- 案例集锦
- oracle 数据库4——高级查询
- Oracle数据库之SQL(高级查询)详解
- 54.Oracle数据库SQL开发之 高级查询——使用集合操作符
- oracle 高级查询(一)
- 自定义base.h
- 【Android】sqlite入门
- C/C++中时间函数总结
- Java中对应 if(true==a) 和 if(a==true) 区别的代表性回复
- highchart实时曲线实例:highchart实时曲线,java web
- Oracle数据库高级查询(五)集合查询
- unix 之ipcs命令
- zoj2388----------------Beat the Spread!
- listView下拉刷新(仿sina微博Android客户端效果)
- Linux I2C驱动(OMAP3630 ) omap_i2c_probe
- 减少oracle进程数,减少OS信号量
- Chrome IE 中QQ快速登录失效
- Android 模拟MotionEvent事件 触发输入法
- Android中AppWidget的分析与应用:AppWidgetProvider