mysql查询所有课程成绩小于60分的学生的学号、姓名
封面图
•
2025-10-27
•
MySQL
189
0
0
0
要查询所有课程成绩小于 60 分的学生的学号和姓名,你需要有一个包含学生信息和成绩信息的数据库结构。通常,这类信息会存储在两个表中: - `student` 表:存储学生的基本信息(如学号 `student_id`、姓名 `name`)。 - `score` 表:存储学生的成绩信息(如学号 `student_id`、课程编号 `course_id`、成绩 `score`)。 ### 假设表结构如下: **student 表:** | student_id | name | |------------|--------| | 001 | 张三 | | 002 | 李四 | | 003 | 王五 | **score 表:** | student_id | course_id | score | |------------|-----------|-------| | 001 | 1 | 55 | | 001 | 2 | 70 | | 002 | 1 | 58 | | 003 | 1 | 65 | --- ### SQL 查询语句如下: ```sql SELECT DISTINCT s.student_id, s.name FROM student s JOIN score sc ON s.student_id = sc.student_id WHERE sc.score < 60; ``` ### 说明: - `JOIN`:将学生表和成绩表连接起来。 - `WHERE sc.score < 60`:筛选出成绩小于 60 的记录。 - `DISTINCT`:避免同一个学生有多门课程不及格时重复显示。 --- ### 如果你只想查询 **至少有一门课程成绩小于 60 分** 的学生,上面的语句是正确的。 如果你还想进一步筛选 **所有课程成绩都小于 60 分** 的学生,可以使用以下语句: ```sql SELECT s.student_id, s.name FROM student s WHERE NOT EXISTS ( SELECT 1 FROM score sc WHERE sc.student_id = s.student_id AND sc.score >= 60 ); ``` 这个查询表示:**没有一门课程的成绩大于等于 60 分** 的学生。 --- 如果你能提供具体的表结构或字段名,我可以帮你定制更准确的 SQL 语句。
上一篇:
mysql查询课程编号为“02”的总成绩
下一篇:
mysql查询和“01”号同学所学课程完全相同的其他同学的学号
标题录入,一次不能超过6条
返回顶部
留言
留言
评论