一个关系代数的问题,数据库中的表如下图所示:问题是:查询至少选修了 C1 课程和 C3 课程的学生学号.
结果为 πSno,Cno(SC)÷πCno(σCno=c1∨Cno=c3(C))问题是这个结果是针对"至少"而言的,那么如果我想选出选修了 C1 和 C3 而且就这两门而且没有选修其它课程的学生学号呢,怎么办?
我想用 SC 和 SC 连接一下,然后用 ∧ 选出同时具有 C1 和 C3 的,但是这样又不行,没办法重命名 SC 啊,也就没法这样做了,大家有什么办法?图看的不是很清楚,大家见谅一下!
结果为 πSno,Cno(SC)÷πCno(σCno=c1∨Cno=c3(C))问题是这个结果是针对"至少"而言的,那么如果我想选出选修了 C1 和 C3 而且就这两门而且没有选修其它课程的学生学号呢,怎么办?
我想用 SC 和 SC 连接一下,然后用 ∧ 选出同时具有 C1 和 C3 的,但是这样又不行,没办法重命名 SC 啊,也就没法这样做了,大家有什么办法?图看的不是很清楚,大家见谅一下!
--------
这个还真没看懂,根据1楼的表,到底需要什么样的结果呢?
NUM
FROM TB
WHERE CLASS IN('C1','C3')
GROUP BY NUM HAVING COUNT(1)>=2
需要关系代数表达式而不是 SQL 语句啊!
2、 选出选了除了c1和c3两门课的学生
3、1-2