关系代数(Relational Algebra)里的“连接”是把两个关系(表)按一定条件拼在一起的操作。下面从基本概念 → 常用连接类型 → 写法示例一步步说明。
给定两个关系:
连接就是:
从 (R \times S)(笛卡尔积)中,选出满足条件的元组
定义: [ R \bowtie_{θ} S = \sigma_{θ}(R \times S) ]
R.B = S.B、R.A > S.C)例子: [ R \bowtie_{R.B = S.B} S ]
θ连接中,**条件全是“=”**的情况
[ R \bowtie_{R.B = S.B} S ]
结果中 B 列会出现两次
写法: [ R \bowtie S ]
例子:
R(学号, 姓名, 班级)
S(学号, 成绩)
R ⋈ S
→ 按“学号”连接,结果只有一份“学号”
解决“一边没匹配也要保留”的问题
[ R \leftouterjoin S ] 保留 R 所有元组
[ R \rightouterjoin S ] 保留 S 所有元组
[ R \fullouterjoin S ]
只保留 R 中能匹配 S 的元组 [ R \ltimes S ]
Student(Sid, Sname, Did)
Dept(Did, Dname)
-- 自然连接
Student ⋈ Dept
-- 等价写法
σ_{Student.Did = Dept.Did}(Student × Dept)
如果你愿意,可以发一张具体的表结构或考试题,我可以直接帮你写关系代数表达式。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。