简单说子查询就是在嵌套在查询中的查询,一般有以下形式:
FROM
后面,作为一个新的表格WHERE
中,用于条件判断(在这其中,比较特殊的是关联子查询-好比JOIN中的Self Join)SELECT
后面,作为一个值
子查询
注意点:
- 子查询需要使用括号
()
FROM
后面的子查询必须加上别名- 子查询第一个括号后面一定是
SELECT
语句
问题:
1、子查询和JOIN的联系(一般可互相转换)
2、子查询和JOIN的混合使用(记住上面第三条:子查询第一个括号后面一定是SELECT
语句)
在使用窗口函数作为外层WHERE中的判断条件时,很容易漏掉 SELECT
,把
想要包括住有WHERE
的语句,则一定要在其外面加上SELECT
错误:
SELECT st.s_id, st.s_name, n.avg_scor