子查詢是嵌套在 SELECT、INSERT、UPDATE、DELETE 的 WHERE 或 HAVING 子句中的 SELECT 陳述式,也可多層嵌套。
分兩步驟執行:先執行內層查詢得結果集,外層再以此結果集為條件篩選。
SELECT title = CONVERT(char(25), title)
FROM titles
WHERE title_id IN (
SELECT title_id
FROM titleauthor
WHERE au_id LIKE '99%'
);
回傳邏輯值 TRUE/FALSE,不產生實際資料列,故 SELECT 清單常用 SELECT *。
單一比較運算子(=, >, < 等)要求子查詢回傳單一值;搭配 ALL 或 ANY 修飾詞時,允許子查詢回傳多值。