Select sid from student score where student_id = sid and sid = ((select number from score , course where corse_id = cid and cname = ‘生物’ )>(select number from score,course where corse_id = cid and cname = ‘物理’))
时间: 2024-04-08 13:33:20 浏览: 111
根据您的查询需求,您想从学生成绩表中选择学生的学号(sid),该学生的成绩既在“生物”课程中高于平均分,又在“物理”课程中低于平均分。以下是修正后的查询语句:
```sql
SELECT sid
FROM student_score
WHERE student_id = sid
AND sid IN (
SELECT number
FROM score, course
WHERE course_id = cid AND cname = '生物'
)
AND sid IN (
SELECT number
FROM score, course
WHERE course_id = cid AND cname = '物理'
)
AND (SELECT number
FROM score, course
WHERE course_id = cid AND cname = '生物') >
(SELECT number
FROM score, course
WHERE course_id = cid AND cname = '物理');
```
请注意,以上查询语句假设您有以下表结构:
- 学生表(student):包含学生的学号(sid)和其他信息。
- 课程表(course):包含课程的课程号(cid)、课程名(cname)和其他信息。
- 成绩表(score):包含学生的学号(number)、课程号(cid)、分数等信息。
根据具体的数据库结构,您可能需要进行适当的调整。另外,如果您想获取具体的学生信息,还需要扩展查询语句以包含其他相关表的连接和选择。
阅读全文