mysql连接查询-子查询
时间: 2023-10-13 08:21:43 浏览: 153
MySQL中的子查询是指在一个查询语句中嵌套另一个查询语句。
子查询可以嵌套在SELECT、FROM、WHERE、HAVING、INSERT、UPDATE、DELETE语句中,用于返回单个值或一组值。
下面是一个例子,演示如何使用子查询:
假设我们有两个表:学生表(students)和成绩表(scores)。
学生表包含以下字段:
- id:学生ID
- name:学生姓名
- age:学生年龄
- gender:学生性别
成绩表包含以下字段:
- id:成绩ID
- student_id:学生ID(外键)
- course:课程名称
- score:成绩
现在,我们想查询每个学生的平均成绩。我们可以使用以下SQL语句:
```
SELECT name, (SELECT AVG(score) FROM scores WHERE student_id = students.id) AS avg_score FROM students;
```
这个查询语句中,我们嵌套了一个子查询,用于计算每个学生的平均成绩。子查询中的 WHERE 子句用于将成绩表中的记录限制为与当前学生相对应的记录。最终的查询结果将每个学生的姓名和平均成绩列出来。
需要注意的是,子查询的性能不如普通查询。因此,在使用子查询时,应该尽量减少其嵌套层数,以提高查询效率。
阅读全文