一般格式
SELECT [ ALL | DISTINCT ] <目标列表达式> [,<目标列表达式>] ...
FROM <表名或视图名> [,<表名或视图名> … ] | (<SELECT语句>) [AS] <别名>
[ WHERE <条件表达式> ]
[ GROUP BY <列名1> [ HAVING <条件表达式>] ]
[ ORDER BY <列名2> [ ASC | DESC ] ] ;
ps:
子查询不仅可以出现在 WHERE 子句中,还可以出现在 FROM 子句中,这时子查询生成的临时派生表(derived table)成为主查询的查询对象。
例:使用派生表查询 找出每个学生超过他自已选修课程平均成绩的课程号。
参考:https://blog.csdn.net/qq_43068326/article/details/105081999
SELECT Sno, Cno
FROM Report, (SELECT Sno, AVG(Grade)
FROM Report
GROUP BY Sno
) AS Avg_report(avg_sno, avg_grade)
WHERE Report.Sno = Avg_report.avg_sno
AND Report.Grade >= Avg_report.avg_grade