程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> 數據庫 關系連接

數據庫 關系連接

編輯:更多數據庫知識
連接分類
關系間的連接分為內連接(inner join)和外連接(outer join)。
外連接又可分為:left outer join,right outer join和full outer join。

內連接計算方法:
如果不加條件將會產生笛卡爾積;
如果有連接條件,按照下一節"連接條件"的規則進行運算,符合條件的元組放入結果關系中。

left outer join 計算過程:
1)計算相同連接條件下的內連接,將符合條件的元組放入結果關系中;
2)如果左關系中有元組不符合條件,將之放入結果關系中,余下的用NULL補足

right outer join 計算過程:
1)計算相同連接條件下的內連接,將符合條件的元組放入結果關系中;
2)如果右關系中有元組不符合條件,將之放入結果關系中,余下的用NULL補足

full outer join
1)計算相同連接條件下的內連接,將符合條件的元組放入結果關系中;
2)如果左、右關系中有元組不符合條件,將之放入結果關系中,余下的用NULL補足

as用來修改連接後結果關系的關系名稱以及屬性名稱。


連接條件
關系之間的連接是可以有條件的,外連接必須要加條件,內連接如果不加條件將會產生笛卡爾積。
有哪些連接條件呢?
natural --
1)兩個關系(左關系和友關系)中所有具有相同的名稱的屬性的值要相等。
2)natural 總是出現在 join語句前面
3)natural的結果關系中,相同名稱的屬性只會出現一次
4)natural的結果關系中,屬性的排列順序總是按照左關系優先的原則。
5) MySQL中,natural join不能使用on指定其他查詢條件
on--
1)on 用在join語句後面
2)on 後面采用關系1.屬性a=關系2.屬性b 的謂詞語法

using--
1)和natural類似,只是顯式指定了屬性名稱
2)如果using也指定了所有相同名稱的屬性,那麼和natural相同


MySQL
MySQL中,natural join和 left outer join不能在同時使用,可以先將natural join語句做成一個view,然後再使用left outer join
join 默認為inner join
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved