您的位置:首页 > 数据库

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的处理引擎会从第一行数据开始分析是否满足条件;若满足打印,不满足,继续进行下一行。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: