更新时间:2024-07-27 GMT+08:00

FROM子句嵌套子查询

功能描述

在FROM子句中嵌套子查询,子查询的结果作为中间过渡表,进而作为外部SELECT语句的数据源。

语法格式

1
SELECT [ALL | DISTINCT] attr_expr_list FROM (sub_query) [alias];

关键字

  • ALL:返回重复的行。为默认选项。其后只能跟*,否则会出错。
  • DISTINCT:从结果集移除重复的行。

注意事项

  • 所要查询的表必须是已经存在的表,否则会出错。
  • FROM嵌套子查询中,子查询必须要取别名,且别名的命名要早于别名的使用,否则会出错。建议别名不要重名。
  • FROM后所跟的子查询结果必须带上前面所取的别名,否则会出错。

示例

返回选了course_info表中课程的学生姓名,并利用DISTINCT关键字进行去重。

1
2
SELECT DISTINCT name FROM (SELECT name FROM student_info
  JOIN course_info ON student_info.courseId = course_info.courseId) temp;