sql简单优化之in字句
2014-04-03 22:30
267 查看
如下:
SQL> select empno,ename,sal,mgr from emp where mgr in(7902,7566,7788);
EMPNO ENAME SAL MGR
---------- ---------- ---------- ----------
7369 SMITH 800 7902
7788 SCOTT 3000 7566
7876 ADAMS 1100 7788
7902 FORD 3000 7566
改成union取并集:
SQL> select empno,ename,sal,mgr from emp where mgr=7902
2 union
3 select empno,ename,sal,mgr from emp where mgr=7566
4 union
5 select empno,ename,sal,mgr from emp where mgr=7788;
EMPNO ENAME SAL MGR
---------- ---------- ---------- ----------
7369 SMITH 800 7902
7788 SCOTT 3000 7566
7876 ADAMS 1100 7788
7902 FORD 3000 7566
(为什么会出现这种情况呢??当使用in关键词的时候,oracle的处理引擎会从第一行数据开始分析是否满足条件;若满足打印,不满足,继续进行下一行。)
SQL> select empno,ename,sal,mgr from emp where mgr in(7902,7566,7788);
EMPNO ENAME SAL MGR
---------- ---------- ---------- ----------
7369 SMITH 800 7902
7788 SCOTT 3000 7566
7876 ADAMS 1100 7788
7902 FORD 3000 7566
改成union取并集:
SQL> select empno,ename,sal,mgr from emp where mgr=7902
2 union
3 select empno,ename,sal,mgr from emp where mgr=7566
4 union
5 select empno,ename,sal,mgr from emp where mgr=7788;
EMPNO ENAME SAL MGR
---------- ---------- ---------- ----------
7369 SMITH 800 7902
7788 SCOTT 3000 7566
7876 ADAMS 1100 7788
7902 FORD 3000 7566
(为什么会出现这种情况呢??当使用in关键词的时候,oracle的处理引擎会从第一行数据开始分析是否满足条件;若满足打印,不满足,继续进行下一行。)
相关文章推荐
- MySql存储过程详解
- Oracle EXP/IMP使用说明
- 11g RAC 从11.2.0.3.0升级到11.2.0.3.9
- 数据库连接URL地址大全
- mongodb在window下和linux下的部署 和 安装可视化工具
- SQL 语句性能调优
- mysql忘记密码怎么办?
- JSP(4)在jsp中使用JDBC-ODBC桥连接数据库的方法和异常处理
- powerdesigner mysql5 逆向工程(建立mysql数据源)
- 什么是MySql数据库
- Sql Server web.config ConnectionString
- SQL中内连接和外连接的问题!
- Mysql备份与恢复
- SQL中内连接和外连接的问题!
- SQL中内连接和外连接的问题!
- 基础概念:Oracle数据库、实例、用户、表空间、表之间的关系
- 基础概念:Oracle数据库、实例、用户、表空间、表之间的关系
- 基础概念:Oracle数据库、实例、用户、表空间、表之间的关系
- Oracle EBS R12 - Use Rman to Clone Oracle EBS R12.1.1 without shutting down source Database and MT
- 执行计划相关SQL