子查詢是嵌套在SELECT、INSERT、UPDATE和DELETE語句的WHERE子句和HAVING子句中的SELECT 語句。
它也可以嵌套在另一個子查詢中。
SELECT語句中子查詢的語法格式為:
1.[NOT]IN子查詢
這種語句的執行分兩個步驟:首先執行內部子查詢,然後根據子查詢的結果再執行外層查詢。
SELECT title=CONVERT(char(25),title)
FROM titles
WHERE title_id IN
(SELECT title_id
FROM titleeauthor
WHERE au_id LIKE '99%')
2.[Not]EXISTs子查詢
它返回邏輯值true或false,並不生產其他任何實際值。所以這種子查詢的選擇列表常用“SELECT *”格式。
3.由比較運算符引出的子查詢
在使用單一比較操作符引出子查詢時,必須保證子查詢返回一個單值,否則將引起查詢錯誤。比較運算符與ALL或ANY修飾符連用時,允許查詢返回多個值。