已知关系模式: S(sno,sname)学生关系,sno为学号,sname为姓名 C(cno,cname)课程关系,cno为课程号,cname为课程名,cteacher为任课老师。 SC(sno,cno,scgrade)为选课关系,s cgrade为成绩 4)列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩。
时间: 2024-04-08 16:31:41 浏览: 139
SELECT SC1.sno, SC1.scgrade AS '1号课成绩', SC2.scgrade AS '2号课成绩'
FROM SC SC1
INNER JOIN SC SC2 ON SC1.sno = SC2.sno
WHERE SC1.cno = '1' AND SC2.cno = '2' AND SC1.scgrade > SC2.scgrade;
相关问题
设有三个关系: S(SNO,SNAME,AGE,SEX) SC(SNO,CNO,GRADE) C(CNO,CNAME,TEACHER) 用关系代数表达式表示查询语句:检索没有学习课程号为C2的学生的学号与姓名。
可以使用以下关系代数表达式表示该查询语句:
πSNO,SNAME(σCNO≠C2(S) - σSNO∈πSNO(σCNO=C2(SC))(S))
其中,σCNO≠C2(S)表示选择S关系中课程号不等于C2的记录,σSNO∈πSNO(σCNO=C2(SC))(S)表示选择学号在选修课程C2的学生中的记录,最后使用πSNO,SNAME投影出学号和姓名。
假设有学生表里面包含学号、姓名、性别、生日和班级信息, 关系模式为:student(sno,sname,ssex,sbirthday,class) 有课程表里面包含课程号、课程名和教工号信息, 关系模式为:course(cno,cname,tno) 有成绩表里面包含学生学号、课程号和成绩信息, 关系模式为:score(sno,cno,degree) 写出SQL语句:查询所有选修“计算机导论”课程的“男”同学的成绩表
可以使用以下 SQL 语句查询所有选修“计算机导论”课程的“男”同学的成绩表:
```
SELECT score.sno, score.degree
FROM score
JOIN student ON score.sno = student.sno
JOIN course ON score.cno = course.cno
WHERE course.cname = '计算机导论' AND student.ssex = '男';
```
其中,使用 `JOIN` 连接三个表,筛选出选修“计算机导论”课程的学生和他们的成绩,同时筛选出性别为“男”的学生。查询结果为选修“计算机导论”课程的“男”同学的成绩表,包含学生学号和成绩信息。
阅读全文