首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

SQL 嵌套查詢(子查詢)完整教程

     編輯:Oracle 資料庫相關知識

SQL 嵌套查詢(子查詢)語法與實戰詳解

SELECT 語句中可嵌入另一個 SELECT,稱為嵌套查詢或子查詢。子查詢結果作為父查詢條件。支持多層嵌套,可操作父查詢未涉及的表,但子查詢中不能有 ORDER BY。

1. 簡單嵌套查詢

SELECT emp.empno, emp.ename, emp.job, emp.sal
FROM scott.emp
WHERE sal >= (SELECT sal FROM scott.emp WHERE ename='WARD');

等價兩步:
1. 子查詢得 sal=1250
2. 父查詢 WHERE sal >= 1250

2. IN 子查詢

SELECT ... FROM scott.emp
WHERE sal IN (SELECT sal FROM scott.emp WHERE ename='WARD');

查詢薪資等於 WARD 的員工。亦可用 NOT IN。

3. ANY 子查詢

SELECT ... FROM scott.emp
WHERE sal > ANY (SELECT sal FROM scott.emp WHERE job='MANAGER');

等價:
1. 子查詢得 3 個經理薪資:2975、2850、2450
2. 父查詢 sal > 2975 OR sal > 2850 OR sal > 2450

4. SOME 子查詢

SELECT ... FROM scott.emp
WHERE sal = SOME (SELECT sal FROM scott.emp WHERE job='MANAGER');

SOME 與 ANY 同義,邏輯同上。

掌握這四類嵌套模式,靈活應對複雜條件查詢。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved