zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

oracle中的合并查询

Oracle 查询 合并
2023-09-11 14:16:03 时间

为了合并多个select语句的查询结果,可以使用集合操作符UNION,UNION ALL,INTERSECT和MINUS.语法如下:

 

None.gifSELECT语句1  [ UNION | UNION ALL | INTERSECT | MINUS ]  SELECT语句2

 

使用集合操作符有以下一些限制:

.对于LOB,VARRAY,嵌套表类来说,集合操作符无效

.对于LONG型,UNION ALL,INTERSECT和MINUS无效

.如果选择列表包含了表达式,必须指定别名

1。UNION,用于获取两个结果集的并集,会自动去掉结果集中的重复行,并会以第一列的结果进行排序,例:

 

None.gifselect   *   from  employee  union   select   *   from  employee;

 

2。UNION ALL,与UNION相似,不同的是UNION ALL不会自动去处重复行,也不会以任何列排序

 

None.gif   select   *   from  employee  union   all   select   *   from  employee;

 

3。INTERSECT,用于获取两个结果集的交集,并且以第一列排序,如:

 

None.gifselect   *   from  employee  intersect   select   *   from  employee  where  id = 1 ;

 

4。MINUS,用于获取结果集的差集(或者说补集),显示第一个结果集存在的,第2个结果集不存在的数据:

 

None.gifselect   *   from  employee minus  select   *   from  employee  where  id = 1 ;

 

注意事项:

1。两个选择列表必须完全一致

2。可以连续使用集合操作符,这些操作符拥有相同优先级,多个操作符存在时,从左向右执行,如:

 


【大数据开发运维解决方案】Oracle Sql基础查询 空字符串在oracle中常常相当于null,为什么不说空字符串等价于null呢,看案例: 可以看到,本身deptno是number类型的,而‘’字符串本身是varchar类型,这与null可以是任何类型不同,所以也就不等价。