Oralce 使用SQL中的exists 和not exists 用法詳解

Reyn_vip發表於2020-12-17

exists表示() 內子查詢返回結果不為空,說明where條件成立就會執行sql語句;如果為空,表示where條件不成立,sql語句就不會執行。

not exists和  exists相反,子查詢語句結果為空,則表示where條件成立,執行sql語句,負責不執行sql。

eg:

1.如果部門名稱中含有字母A,則查詢所有員工資訊(使用exists)
select * from emp where exists (select * from dept where dname like '%A%' and deptno = emp.deptno) temp and deptno=temp.deptno;

結果為:


     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17-12月-80            800                    20
      7499 ALLEN      SALESMAN        7698 20-2月 -81           1600        300         30
      7521 WARD       SALESMAN        7698 22-2月 -81           1250        500         30
      7566 JONES      MANAGER         7839 02-4月 -81           2975                    20
      7654 

相關文章