50个查询系列-第8个查询:查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;...
时间: 2023-09-11 22:09:22 浏览: 50
以下是查询语句:
```
SELECT s.sno, s.sname
FROM score sc1, score sc2, student s
WHERE sc1.sno = sc2.sno
AND sc1.cno = '002'
AND sc2.cno = '001'
AND sc1.score < sc2.score
AND s.sno = sc1.sno;
```
解释:
1. 使用两个 score 表来比较课程编号 “002” 和课程编号 “001” 的成绩;
2. 通过学生表 student 来获取学生的学号和姓名;
3. 在 WHERE 子句中,使用 sc1.sno = sc2.sno 来限制两个 score 表的学生编号相同;
4. 使用 sc1.cno = '002' 和 sc2.cno = '001' 分别限制课程编号;
5. 使用 sc1.score < sc2.score 来比较成绩大小;
6. 最后限制查询结果只包含学号和姓名,通过 s.sno = sc1.sno 来连接学生表和 score 表。