六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

內連接、左外連接、右外連接、交叉連接它們的區別是什么

[摘要]內連接、左外連接、右外連接、交叉連接區別在之前,我對MSSQL中的內連接和外連接所得出的數據集不是很清楚。這幾天重新溫習了一下SQL的書本,現在的思路應該是很清楚了,現在把自己的理解發出來給大家溫習下。希望和我一樣對SQL的連接語句不太理解的朋友能夠有所幫助。(發這么菜的教程,各位大大們別笑話偶了...

內連接、左外連接、右外連接、交叉連接區別

在之前,我對MSSQL中的內連接和外連接所得出的數據集不是很清楚。這幾天重新溫習了一下SQL的書本,現在的思路應該是很清楚了,現在把自己的理解發出來給大家溫習下。希望和我一樣對SQL的連接語句不太理解的朋友能夠有所幫助。(發這么菜的教程,各位大大們別笑話偶了,呵:D ) 有兩個表A和表B。表A結構如下: Aid:int;標識種子,主鍵,自增ID Aname:varchar 數據情況,即用select * from A出來的記錄情況如下圖1所示:

內連接、左外連接、右外連接、交叉連接它們的區別是什么
圖1:A表數據
表B結構如下: Bid:int;標識種子,主鍵,自增ID Bnameid:int 數據情況,即用select * from B出來的記錄情況如下圖2所示:

內連接、左外連接、右外連接、交叉連接它們的區別是什么
圖2:B表數據
為了把Bid和Aid加以區分,不讓大家有誤解,所以把Bid的起始種子設置為100。有SQL基本知識的人都知道,兩個表要做連接,就必須有個連接字段,從上表中的數據可以看出,在A表中的Aid和B表中的Bnameid就是兩個連接字段。下圖3說明了連接的所有記錄集之間的關系:
內連接、左外連接、右外連接、交叉連接它們的區別是什么
圖3:連接關系圖
現在我們對內連接和外連接一一講解。 1.內連接:利用內連接可獲取兩表的公共部分的記錄,即圖3的記錄集C 語句如下:Select * from A JOIN B ON A.Aid=B.Bnameid 運行結果如下圖4所示:其實select * from A,B where A.Aid=B.Bnameid與Select * from A JOIN B ON A.Aid=B.Bnameid的運行結果是一樣的。
內連接、左外連接、右外連接、交叉連接它們的區別是什么
圖4:內連接數據

2.外連接:外連接分為兩種,一種是左連接(Left JOIN)和右連接(Right JOIN)
(1)左連接(Left JOIN):即圖3公共部分記錄集C+表A記錄集A1。
語句如下:select * from A Left JOIN B ON A.Aid=B.Bnameid
運行結果如下圖5所示:

內連接、左外連接、右外連接、交叉連接它們的區別是什么
圖5:左連接數據

說明:在語句中,A在B的左邊,并且是Left Join,所以其運算方式為:A左連接B的記錄=圖3公共部分記錄集C+表A記錄集A1
在圖3中即記錄集C中的存在的Aid為:2 3 6 7 8
圖1中即表A所有記錄集A中存在的Aid為:1 2 3 4 5 6 7 8 9
表A記錄集A1中存在的Aid=(圖1中即A表中所有Aid)-(圖3中即記錄集C中存在的Aid),最終得出為:1 4 5 9
由此得出圖5中A左連接B的記錄=圖3公共部分記錄集C+表A記錄集A1, 最終得出的結果圖5中可以看出Bnameid及Bid非NULL的記錄都為圖3公共部分記錄集C中的記錄;Bnameid及Bid為NULL的Aid為1 4 5 9的四筆記錄就是表A記錄集A1中存在的Aid。

(2)右連接(Right JOIN):即圖3公共部分記錄集C+表B記錄集B1。

語句如下:select * from A Right JOIN B ON A.Aid=B.Bnameid 運行結果如下圖6所示:

內連接、左外連接、右外連接、交叉連接它們的區別是什么
圖6:右連接數據
說明: 在語句中,A在B的左邊,并且是Right Join,所以其運算方式為:A右連接B的記錄=圖3公共部分記錄集C+表B記錄集B1
在圖3中即記錄集C中的存在的Aid為:2 3 6 7 8
圖2中即表B所有記錄集B中存在的Bnameid為:2 3 6 7 8 11
表B記錄集B1中存在的Bnameid=(圖2中即B表中所有Bnameid)-(圖3中即記錄集C中存在的Aid),最終得出為:11
由此得出圖6中A右連接B的記錄=圖3公共部分記錄集C+表B記錄集B1, 最終得出的結果圖6中可以看出Aid及Aname非NULL的記錄都為圖3公共部分記錄集C中的記錄;Aid及Aname為NULL的Aid為11的記錄就是表B記錄集B1中存在的Bnameid。
交叉連接:兩張表聯合沒有條件情況下,條數 = 圖1 * 圖2

以上就是內連接、左外連接、右外連接、交叉連接它們的區別是什么的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 色综合久久综合欧美综合 | 欧美一级乱理片免费观看 | 色噜噜噜噜噜在线观看网站 | 性色午夜视频免费男人的天堂 | 青青青青青青青青草 | 亚洲天堂男人的天堂 | 在线视频二区 | 日韩高清在线不卡 | 青青伊人影院 | 欧美亚洲激情 | 深夜 免费 视频 | 综合 欧美 亚洲日本 | 亚洲女人在线 | 日本xxx在线观看免费播放 | 伊人久久大香线蕉avapp下载 | 亚洲伊人久久大香线蕉综合图片 | 亚洲大片在线观看 | 欧美一级成人一区二区三区 | 色吊丝国产永久免费网址 | 日韩在线精品视频 | 亚洲免费视| 午夜影院在线观看 | 日韩特黄特色大片免费视频 | 色亚洲视频| 色黄在线观看 | 任我爽在线视频精品凹凸精品分类 | 在线播放国产区 | 欧美一级黄色录相 | 青青影视 | 中文字幕福利视频 | 亚洲男人的天堂在线视频 | 午夜爱爱毛片xxxx视频免费看 | 亚洲六区| 亚洲男人天堂网站 | 亚洲国产天堂久久综合图区 | 日韩三级视频在线观看 | 香蕉视频日本 | 在线视频 二区 | 天天做天天爱天天一爽一毛片 | 亚洲精品在线看 | 奇米狠狠 |