- 等值連接:inner join
- 自然連接: out join, left join,right join
等值連接
連接join 是從兩個關係的笛卡兒積中選取屬性間滿足一定條件的元組。
連接運算中有兩種最爲重要也最爲常用的連接,一種是等值連接,一種是外連接。
等值連接
關係R與關係S 等值連接後的結果
自然連接
自然連接:是一種特殊的等值連接,它要求兩個關係進行比較的分量必須是相同的屬性組,並且在結果集中將重複屬性列去掉。
2008年軟件設計師考試的題目:若關係R、S如下所示,則R與S自然連接後的屬性列數和元組個數分別爲()
R:
A B C D
a b c d
a c d c
a d g f
a b g f
S:
C D
c d
g f
分析,首先進行比較,容易得出R中有三個元組(即三行,1、3、4行)符合條件,所以元組個數爲3,再然後去掉重複的列,顯然仍然剩下A、B、C、D四個列。
自然連接(natural join)
自然連接是一種特殊的等值連接。比較兩幅圖就可以看出,自然連接在結果中把重複的屬性列去掉。
一般的連接操作是從行的角度進行運算,但是自然連接還需要取消重複列,所以是同時從行和列的角度進行運算。
在關係數據庫中,數據庫的重構往往是不可避免的。重構數據庫最常見的是將一個基本表“垂直”地分成多個基本表。例如:將學生關係:
Student(Sno, Sname, Ssex, Sage, Sdept)
分爲SX(Sno, Sname, Sage)和SY(Sno, Ssex, Sdept)兩個關係。這時原表Student爲SX表和SY表自然連接的結果。
-------------------------------------------------------
外連接(outer join)
左外連接(Left Outer Join)
Left Join 就是一定要把左邊保證了,右邊沒有的就填NULL
右外連接(Right Outer Join)
Right Join 就是一定要把右邊保證了,左邊沒有的就填NULL