当前位置: 代码迷 >> Sql Server >> 如何用SQL语句表述关系代数中的除法操作
  详细解决方案

如何用SQL语句表述关系代数中的除法操作

热度:69   发布时间:2016-04-27 13:39:10.0
怎么用SQL语句表述关系代数中的除法操作
怎么用SQL语句表述关系代数中的除法操作,比如选择、投影、笛卡尔积等。尤其是除法操作怎么用SQL语句表述出来。

------解决方案--------------------
9.假设有如下3个关系,分别写出问题1-5的表达式。 
学生关系S
Snum Sname Sage Sdept
S01 David 20 SE
S02 John 25 CS
课程关系C
Cnum Cname Ccred
C01 Java 3
C02 OS 3



选课关系SC
Snum Cnum Grade
S01 C01 80
S01 C02 75
S02 C01 90
 
问题1:查询姓名为David的学生学号、所选课程号和成绩
∏snum,cnum,grade(∫snam=david(S∞SC))
Select snum,cnum,grade from student inner join stuscore on student.snum=stuscore.snum where sname=’david’
问题2:查询学号为S01的学生学号、姓名、所选每门课课程名及成绩
∏snum,sname,cname,grade(∫snum=s01 (S∞C∞SC))
问题3:查询选修C01或 C02课程的学生学号
∏snum(∫cnum=c01 ∪∫snum=c02 SC)
问题4:查询没有选修任何课程的学生信息
(∏snum S-∏snum SC) ∞S
问题5:查询课程成绩大于70的学生学号、姓名、课程名称、成绩。
∏snum,sname,grade(∫grade>70 (S∞C∞SC))

楼主的问题也就是把上诉关系运算转换成SQL语句
给出了第一个的SQL语句,后面的类推
  相关解决方案