掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
在完成較復(fù)雜的數(shù)據(jù)查詢時(shí),經(jīng)常會(huì)使用到子查詢,編寫子查詢語句時(shí),要注意如下事項(xiàng)。

在 SELECT 語句中,子查詢可以被嵌套在 SELECT 語句的列、表和查詢條件中,即 SELECT 子句,F(xiàn)ROM 子句、WHERE 子句、GROUP BY 子句和 HAVING 子句。
前面已經(jīng)介紹了 WHERE 子句中嵌套子查詢的使用方法,下面是子查詢?cè)?SELECT 子句和 FROM 子句中的使用語法。
嵌套在 SELECT 語句的 SELECT 子句中的子查詢語法格式如下。
SELECT (子查詢) FROM 表名;
提示:子查詢結(jié)果為單行單列,但不必指定列別名。
嵌套在 SELECT 語句的 FROM 子句中的子查詢語法格式如下。
SELECT * FROM (子查詢) AS 表的別名;
注意:必須為表指定別名。一般返回多行多列數(shù)據(jù)記錄,可以當(dāng)作一張臨時(shí)表。
多層嵌套子查詢的最終數(shù)據(jù)集只包含父查詢(即最外層的查詢)的 SELECT 子句中出現(xiàn)的字段,而子查詢的輸出結(jié)果通常會(huì)作為其外層子查詢數(shù)據(jù)源或用于數(shù)據(jù)判斷匹配。
常見錯(cuò)誤如下:
SELECT * FROM (SELECT * FROM result);
這個(gè)子查詢語句產(chǎn)生語法錯(cuò)誤的原因在于主查詢語句的 FROM 子句是一個(gè)子查詢語句,因此應(yīng)該為子查詢結(jié)果集指定別名。正確代碼如下。
SELECT * FROM (SELECT * FROM result) AS Temp;

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流