mysql(3) 內連線 外連線的區別

2021-09-10 08:17:12 字數 884 閱讀 3196

先來看一下,內連線的語法:

select  *** from *** inner join *** on ***;

內連線指的是把表連線時表與表之間匹配的資料行查詢出來,就是兩張表之間資料行匹配時,要同時滿足on語句後面的條件才行。

左連線和右連線,又叫左外連線和右外連線。

我們來看一下左連線的語法

select *** from *** left outer join *** on ***

左連線的意思是,無論是否符合on語句後面的表連線條件都會把左邊那張表的記錄全部查詢出來,右邊的那張表只匹配符合條件的資料行。右連線則與之相反(這裡同樣outer 可以省略)。

下面我們以左連線為例,來看一下這個匹配的過程。有兩張表商品表goods和訂單表order_table。

資料行間的匹配以此類推。

最終結果是:

藍線部分表示兩張表資料行之間的匹配符合 on g.id = ot.goods_id,虛線則表示不符合匹配條件,我們看到步驟二中,即使左邊的表跟右邊的表沒有一行資料能夠匹配的,左邊的表的資料行還是會出現在連線之後的臨時表中,而這時右邊的資料行的內容用null填充。根據分析我們還可以看到,資料行之間匹配的次數還是符合笛卡爾積。

MySQL 外連線 內連線與 連線的區別

內連線 連線的資料表相對應的匹配字段完全相等的連線。連線關鍵字是 inner join 外連線分為左外連線與右外連線 全連線。左連線的結果集包括指定的左表全部資料與匹配的右表資料,右表中沒匹配的全為空值.關鍵字 left join 右連線的結果集包含指定的右表全部資料與匹配的左邊資料,左邊中沒匹配的...

MySQL連線查詢 內連線和外連線的區別

1.使用連線查詢的場景 將多張表進行記錄的連線查詢 按照某個字段指定的條件進行資料的拼接 進行資料的拼接 兩張表的內容顯示在乙個結果表中 使用連線查詢 最終的結果是 記錄數有可能變化,字段數一定會增加 至少兩張表的合併 意義 在使用者檢視資料的時候,顯示的資料來自於多張表連線查詢的分類 4類 內部有...

內連線和外連線的區別

在之前,我對mssql中的內連線和外連線所得出的資料集不是很清楚。這幾天重新溫習了一下sql的書本,現在的思路應該是很清楚了,現在把自己的理解 發出來給大家溫習下。希望和我一樣對sql的連線語句不太理解的朋友能夠有所幫助。發這麼菜的教程,各位大大們別笑話偶了,呵 d 有兩個表a和表b。表a結構如下 ...