数据库连接与笛卡尔乘积
一、笛卡爾乘積與數(shù)據(jù)庫(kù)連接(join)
數(shù)據(jù)庫(kù)連接是從兩個(gè)關(guān)系的笛卡爾乘積中選取屬性間滿足一定條件的元組。
現(xiàn)有兩個(gè)關(guān)系R、S:
關(guān)系R:
關(guān)系S:
關(guān)系R與S的笛卡爾乘積為:
在連接中有兩種非常重要的連接:等值連接與自然連接。
等值連接:(條件R.B = S.B)
當(dāng)然也可以有非等值連接(比如R.C < S.E)
自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是同名的屬性值,并且在結(jié)果中把重復(fù)的屬性列去掉。
自然連接:
在自然連接時(shí)候,關(guān)系R中的某些元祖有可能在S中不存在公共屬性值相等的元祖,從而造成R中的這些元祖丟失了,同樣,S中有些元祖也可能被舍棄。這些舍棄的元祖被稱為懸浮元祖。
如果把懸浮元祖也保留在結(jié)果關(guān)系中,而在其他屬性上填空值(null),那么這種連接稱為外連接;只保留左邊關(guān)系R中的懸浮元祖稱為左外連接;只保留右邊關(guān)系的懸浮元祖稱為右外連接。
外連接:
左外連接:
右外連接
注意:left outer on … where …在on后的條件跟在where后的條件不一樣。
on后的:右表記錄能不能跟左表連接的條件
where后的:連接完成后進(jìn)行篩選
詳見https://blog.csdn.net/minixuezhen/article/details/79763263
總結(jié)
以上是生活随笔為你收集整理的数据库连接与笛卡尔乘积的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Access2007】Access20
- 下一篇: IPX协议设置