mysql中 课程1比课程2成绩高_题1:查询
时间: 2024-02-22 12:58:31 浏览: 23
您可以使用以下SQL语句查询课程1比课程2成绩高的学生:
```
SELECT student_name
FROM scores
WHERE course_name = '课程1' AND score > (
SELECT score
FROM scores
WHERE course_name = '课程2'
);
```
其中,`scores`是存储学生成绩的表,包含`student_name`、`course_name`和`score`三个字段。上述SQL语句中,外层的`SELECT`语句用于查询课程1成绩高于课程2的学生,内层的`SELECT`语句用于获取课程2的成绩。如果课程1的成绩高于课程2的成绩,则返回该学生的姓名。
相关问题
用MySQL查询1课程比2课程成绩高的学生的信息及课程分数
好的,您可以尝试使用以下SQL语句来查询1课程比2课程成绩高的学生的信息及课程分数:
```
SELECT a.student_id, a.course_id as course1, a.score as score1, b.course_id as course2, b.score as score2
FROM scores a, scores b
WHERE a.student_id = b.student_id
AND a.course_id = '1'
AND b.course_id = '2'
AND a.score > b.score;
```
这个查询语句会从成绩表中(scores)中获取学生ID,课程1的成绩,课程2的成绩,然后筛选出课程1的成绩大于课程2的成绩的学生,并返回他们的学生ID,课程1成绩和课程2成绩。
请注意,这只是一个示例查询语句,具体的表名和字段名可能会根据您的实际数据结构而有所不同。
利用mysql查询成绩比该课程平均成绩低的同学的成绩表
针对您的问题,以下是一个查询成绩比该课程平均成绩低的同学的成绩表的示例MySQL查询语句:
```
SELECT s.name, sc.score
FROM student s
JOIN score sc ON s.id = sc.student_id
WHERE sc.course_id = <course_id>
AND sc.score < (SELECT AVG(score) FROM score WHERE course_id = <course_id>)
```
替换`<course_id>`为您要查询的课程的ID值,即可执行此查询。这将返回一个包含学生姓名和成绩的表,其中包括该课程成绩低于平均成绩的学生。