如下:
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的处理引擎会从第一行数据开始分析是否满足条件;若满足打印,不满足,继续进行下一行。)