前面的話
查詢數(shù)據(jù)庫,當(dāng)查詢條件比較復(fù)雜時,常常需要用到子查詢。子查詢(Subquery)是指出現(xiàn)在其他SQL語句內(nèi)的SELECT子句。本文將詳細(xì)介紹子查詢
定義
子查詢(Subquery)是指出現(xiàn)在其他SQL語句內(nèi)的SELECT子句
SELECT * FROM t1 WHERE col1 = (SELECT col2 FROM t2);
其中,SELECT * FROM t1,稱為外層查詢(Outer Query/Outer Statement),SELECT col2 FROM t2,稱為子查詢(SubQuery)
在使用子查詢時,需要注意的是
1、子查詢指嵌套在查詢內(nèi)部,且必須始終出現(xiàn)在圓括號內(nèi)
2、子查詢語句中可以包含多個關(guān)鍵字或條件,如DISTINCT、GROUP BY、ORDER BY、LIMIT、函數(shù)等
3、子查詢的外層查詢可以是:SELECT、INSERT、UPDATE、SET或DO
4、子查詢返回值可以是:標(biāo)量、一行、一列或者子查詢