如何理解关系中的除法
定义:设关系 R除以关系S的结果为关系T,则T包含所有在R中但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R 中
设有关系R,S以及RS,如图所示,求RS÷S的结果
很容易求得结果为:{张三 }
所以你很容易看出来RS÷S 在这里解决的问题就是:“得到选修了所有课程的学生”
RS÷S的意义就是:“在R和S的联系RS中,找出与S中所有的元组有关系的R元组”。
R(X,Y)÷S(Y,Z)的运算用结构化语言SQL 语句可表达为下列形式:
select distinct R.X from R as R1
where not exists
(
select S.Y from S
where not exists
(
select* from R as R2
where R2.X = R1.X and R2.Y = S.Y
)
);