select嵌套的例子
时间: 2023-12-17 10:03:29 浏览: 31
SELECT 嵌套用于从一个或多个表中检索数据,并将其作为子查询嵌入另一个 SELECT 语句中。以下是一个 SELECT 嵌套的示例:
假设我们有两个表,分别是 `students` 和 `scores`。`students` 表包含了学生的基本信息,包括 `id`、`name` 和 `gender` 字段;`scores` 表包含了学生的成绩信息,包括 `id`、`course` 和 `score` 字段。
现在,我们需要查询所有女性学生的平均成绩。可以使用以下 SQL 语句实现:
```
SELECT AVG(sub.avg_score) AS avg_female_score
FROM (
SELECT s.id, AVG(sc.score) AS avg_score
FROM students s
JOIN scores sc ON s.id = sc.id
WHERE s.gender = '女'
GROUP BY s.id
) sub;
```
上面的代码中,外层的 SELECT 语句使用了 AVG() 函数来计算子查询中的平均成绩,并将其作为结果返回。子查询中的 SELECT 语句使用了 JOIN 子句连接了 `students` 和 `scores` 两个表,由于需要查询女性学生的平均成绩,所以添加了 WHERE 子句限制了性别为女性的学生,使用了 GROUP BY 子句按照学生的 id 进行分组,并使用 AVG() 函数计算了每个学生的平均成绩。子查询的结果被作为临时表格 `sub`,并用于外层的 SELECT 语句中。最终,查询结果为所有女性学生的平均成绩。