在我的经验中,Oracle非常善于推动简单的谓词。以下测试在Oracle 11.2上进行。我相当确定它在所有版本的10g上也生成相同的执行计划。

(请人,如果你运行较早的版本,并尝试以下,请随意留下评论)

create table table1(a number, b number);

create table table2(a number, b number);

explain plan for

select *

from (select a,b from table1

union

select a,b from table2

)

where a > 1;

select *

from table(dbms_xplan.display(format=>'basic +predicate'));

PLAN_TABLE_OUTPUT

---------------------------------------

| Id | Operation | Name |

---------------------------------------

| 0 | SELECT STATEMENT | |

| 1 | VIEW | |

| 2 | SORT UNIQUE | |

| 3 | UNION-ALL | |

|* 4 | TABLE ACCESS FULL| TABLE1 |

|* 5 | TABLE ACCESS FULL| TABLE2 |

---------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

4 - filter("A">1)

5 - filter("A">1)

正如你可以在步骤(4,5)看到的,谓词在排序(联合)之前被下推并应用。

我无法让优化器推下整个子查询,如

where a = (select max(a) from empty_table)

或连接。有了合适的PK / FK约束,它可能是可能的,但显然有限制:)

oracle union wher,sql – UNION with WHERE子句相关推荐

  1. php union用法,SQL Union用法是什么?

    sql union用法是什么? sql union用法的总结: UNION 运算符将多个 SELECT 语句的结果组合成一个结果集. (1)使用 UNION 须满足以下条件: A:所有查询中必须具有相 ...

  2. SQL Server中SQL Union vs Union All

    This article explains to the SQL Union and vs Union All operators in SQL Server. We will also explor ...

  3. 十一 SQL UNION 与 SELECT INTO 与 INSERT INTO SELECT

    SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时 ...

  4. SQL UNION 和 UNION ALL

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站:https://www.captainai.net/dongkelun 前言 总结SQL UNION的 ...

  5. SQL语句中union all和union的区别以及用法

    起因 一次渗透过程中目标使用的SQL Server有联合注入,发现使用union all 不报错,union报错,同时还有一个就是字段的类型,发现类型不对也会报错,贴张图 union+all+sele ...

  6. SQL UNION 操作符

    SQL UNION 操作符合并两个或多个 SELECT 语句的结果. 请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每个 SELECT 语句 ...

  7. SQL高级---SQL UNION 和 UNION ALL 操作符

    SQL UNION 和 UNION ALL 操作符 SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥 ...

  8. 2、SQL UNION 和 UNION ALL 操作符

    网址:http://www.w3school.com.cn/sql/sql_union.asp SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意, ...

  9. SQL Union和Union All使用方法

    格式: [SQL 语句 1] UNION [SQL 语句 2] 对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: select ID,NAME from A UNION select ...

最新文章

  1. 系统内存信息获取工具类
  2. Tool:微信使用技巧之手把手教你如何在电脑端同时登录多个微信账号之图文教程详细攻略
  3. java 多线程基础(一)
  4. PyCharm代码区不能编辑的解决办法
  5. 如果开心,就跟着心走吧……
  6. gridview求和
  7. PHP Error(不定时更新)
  8. 训练后的随机森林模型导出和加载
  9. win10安装影子系统,导致电脑无限蓝屏,解决总结
  10. 2核4G阿里云服务器被黑客抓鸡??然鹅一个操作就搞定
  11. Chrome扩展 - 百度识图
  12. 【Unity3D基础2-5】Unity3D本地坐标系与世界坐标系
  13. 数据库点滴之T-SQL面试语句,练练手
  14. 2011中国民营企业500强名单,广东仅13家江浙310家
  15. Java实现满天星动案例
  16. 极客日报:华为拿百亿资金给员工分红,每股1.58元;苹果将推出M2芯片入门级MacBook Pro;Flutter 2.10发布
  17. 80后男人的脱单技巧
  18. 倍福TwinCAT3导入TwinCAT2项目的方法
  19. 电大计算机应用基础win7操作,新版电大《计算机应用基础》(win7)操作题解题步骤.doc...
  20. 【图像识别】【读论文】模式识别方法概论模式识别及其在图像处理中的应用

热门文章

  1. 快商通助力首届福建省研究生人工智能学科竞赛圆满落幕
  2. Erlang JAM二三话
  3. RGB、YUY2、YUYV、YVYU、UYVY、AYUV、YUV444、YUV422、YUV420、YUV411
  4. java面试笔试资料 百度网盘
  5. Python+Potato API实现关键字聊天机器人
  6. java读写Excel工具类
  7. GB/T 28181国标2022版本变化
  8. 智能优化算法--灰狼算法
  9. ICML 2022 | 腾讯AI Lab入选论文解读
  10. 硬件设计—JTAG链