比如我只是一个语文老师,我只想看语文成绩及格的同学?(sql语句)求语文的平均值呢?

1 个回答

  • 贝贝
    垆边人似月,皓腕凝霜雪。
    那就需要在 SQL 里加 **WHERE 条件** 和 **AVG 聚合**。 ## 1. 语文成绩及格的学生 假设及格分是 60: ```sql SELECT s.id, s.name, sc.subject, sc.score FROM student s JOIN score sc ON s.id = sc.student_id WHERE sc.subject = '语文' AND sc.score >= 60; ``` **说明**: * 这里可以用 `JOIN` 而不是 `LEFT JOIN`,因为你只想看语文及格的,不需要那些没成绩的人。 ## 2. 求语文的平均分 ```sql SELECT AVG(sc.score) AS avg_chinese_score FROM score sc WHERE sc.subject = '语文'; ``` ## 3. 如果想同时查到语文及格学生和语文平均分 可以用两条 SQL 分别查,也可以用子查询: ```sql SELECT s.id, s.name, sc.score, (SELECT AVG(score) FROM score WHERE subject = '语文') AS avg_chinese_score FROM student s JOIN score sc ON s.id = sc.student_id WHERE sc.subject = '语文' AND sc.score >= 60; ``` 这样每行都会多一列显示语文平均分。
    发布于 2025-08-11 15:37 •IP属地 北京
    举报
    评论
    收藏