mysql如何查询多表中平均年龄在80分以上的学生
时间: 2024-05-24 13:11:08 浏览: 139
您好,以下是针对您的问题的 SQL 查询语句。
SELECT AVG(student.age) AS average_age
FROM student
JOIN grade ON student.grade_id = grade.grade_id
JOIN course ON course.course_id = grade.course_id
WHERE course.course_name = 'MySQL'
GROUP BY student.student_id
HAVING AVG(student.age) >= 80;
该语句可以在多个表之间进行联接,并筛选出符合条件的学生信息,最终返回这些学生的平均年龄。
相关问题
mysql用嵌套查询,查询所有年龄大于平均年龄学生姓名
可以使用如下的 SQL 语句来实现:
```sql
SELECT name
FROM student
WHERE age > (SELECT AVG(age) FROM student);
```
这里使用了一个嵌套查询,内层查询语句 `SELECT AVG(age) FROM student` 用于计算学生年龄的平均值,而外层查询语句 `SELECT name FROM student WHERE age > (SELECT AVG(age) FROM student)` 则用于查询所有年龄大于平均年龄的学生姓名。
使用MySQL查询年龄高于所有学生平均年龄的学生学号、姓名和年龄
可以使用子查询和聚合函数来实现该查询:
```
SELECT id, name, age
FROM students
WHERE age > (
SELECT AVG(age)
FROM students
)
```
解释一下上面的语句:首先在子查询中计算出所有学生的平均年龄,然后在主查询中筛选出年龄高于平均年龄的学生,并且返回他们的学号、姓名和年龄。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)