mysql中的自然聯結、內聯結、外聯結
阿新 • • 發佈:2019-02-14
1.自然聯結
定義:無論何時對錶進行聯結,應該至少有一個列出現不止一個表中(被聯結的列)。標準的聯結返回所有資料,甚至相同的列多次出現。自然聯結排除多次出現,使每個列只返回一次;(也就是說,自然聯結的作用就是排除多次出現,使每個列只返回一次)文字沒描述完了,可能有的同學還不是很理解其中的意思,下面上例子吧,更直觀: 例如有表R和表S,表的內容如下:
現在R和S要進行自然聯結 自然聯結步驟 1.就是用R表中的每一項乘以S表中的每一項,得到的結果如下R表 S表 A B C D B E 1 a 3 2 c 7 2 b 6 3 d 5 3 c 7 1 a 3
2.過濾出R.B=S.B的行,結果如下A B C D B E 1 a 3 2 c 7 1 a 3 3 d 5 1 a 3 1 a 3 2 b 6 2 c 7 2 b 6 3 d 5 2 b 6 1 a 3 3 c 7 2 c 7 3 c 7 3 d 5 3 c 7 1 a 3
R.A R.B R.C S.D S.B S.E
1 a 3 1 a 3
3 c 7 2 c 7
3.最後去除一個相同的列,即R.B和S.B其中一個,最後自然聯結的結果為
A B C D E
1 a 3 1 3
3 c 7 2 7
2.內聯結
表資料:例如有一下兩個表,表A和表B// 表A記錄如下
aID aNum
1 a2010
2 a2011
3 a2012
4 a2012
5 a2013
// 表B記錄如下:
bID bName
1 b2010
2 b2011
3 b2012
4 b2013
8 b2014