MySQL中的全外連線

2021-09-26 06:26:53 字數 1281 閱讀 2902

連線的定義:兩個表之間通過某種聯絡連線在一起,產生乙個新的表

1.內連線 (inner join)

概念:返回連線表中符合連線條件和查詢條件的資料行。

例項1:職工表與部門表

職工表:

部門表:

將以上兩個表進行內連線:

select *

from

emp e

inner join

dept d

on e.`deptno` = d.`deptno`

;

連線結果為:

2.外連線 (outer join)

外連線不但返回符合連線和查詢條件的資料行,還返回不符合條件的一些行。

外連線分三類:左外連線(left outer join)、右外連線(right outer join)和全外連線(full outer join)。

左外連線如下圖:

顯示左邊的表的其他資訊

右外連線如下圖:

顯示右邊的表的其他資訊

接下來,講一下什麼是全外連線

把兩個中不相關的資料全部顯示出來

形如:

select o.id,o.order_number,o.customer_id,c.id,c.name

from orders o

left outer join customers c

on c.id=o.customer_id

union --關鍵字

select o.id,o.order_number,o.customer_id,c.id,c.name

from orders o

right outer join customers c

on c.id=o.customer_id;

Mysql中的全外連線

首先,mysql本身是沒有提供全外連線的,mysql中多表查詢只提供了內連線,左外連線與右外連線 table reference outer join table reference on conditional expr 1 inner join on內連線 只寫join時預設為內連線 2.1 左...

MySQL內連線 左外連線 右外連線 全外連線

連線的優勢是減少了外來鍵的使用。內連線 最常見的等值連線,指連線結果僅包含符合連線條件的行,參與連線的兩個表都應該符合連線條件。inner join或join on condition 首先建立兩個表person和card,內容如下 select from card id cardname 1 ca...

SQL中的全外連線

今天看到一貼,說到 mysql 不支援全外連線,希望能給出乙個方法能夠解決這個問題.我們首先必須明白在數學領域,set 和 bag 是兩種不同的概念.bag 比 set 更加複雜.主要就是允許了元素的重複出現.因此 bag 的union,intersect,difference 也就有了些區別.要模...