內連線,外連線,左連線,右連線,全連線

2021-06-16 01:35:55 字數 1303 閱讀 2575

連線是指將關聯式資料庫中的兩個表根據內容一定的條件連線成乙個表.

內連線是最常用的鏈結,也叫等值鏈結,最常見的格式是:

selecta.*,b.*fromta as a ,tb as b

wherea.id=b.id 或者

selecta.*,b.*fromtaasainnerjoin tbasb

on

a.id = b.id

外連線則分為"左外連線(左連線)","右外連線(右連線)"兩種情況:

left join / right join

常見格式是:

selecta.ida,a.va,b.idb,b.vbfromta a left

join tb b

on

b.idb=a.ida

selecta.ida,a.va,b.idb,b.vbfromta a right

join tb b

on

b.idb=a.ida

左連線:以左表為基礎來連線,如果左表的某行內容無法在右表中找到相對的row,則將右表統統用null來表示.

右連線:與左連線相反.

全連線(或者稱作全外連線):

full outer join 或者 full join

常見格式:

selecta.* ,b.*

fromta as a

full outer jointb as b

ona.id=b.id

oracle中也可以使用where子句中的(+)來表示左右連線和全連線,注意,這種寫法和left(right,full)連線的區別

--- = ---(+):左連線

---(+) = ---:右連線

---(+) = ---(+):全連線

需要注意的是:有的資料庫不支援全連線的寫法(full out join/full join),如mysql,和access等。

內連線,左外連線,右外連線,全連線

1.內連線我們通常用的連線,表表連線只顯示交集資料 2.外連線分左外連線 table1 left outer join on table2 和右外連線table1 right outer join on table2 和全連線 table1 full outer join on table2 2.1...

SQL 左外連線,右外連線,全連線,內連線

例子1 a表 id name b表 id job parent id 1 張3 1 23 1 2 李四 2 34 2 3 王武 3 34 4 a.id同parent id 存在 關係內連線 select a.b.from a inner join b on a.id b.parent id 結果是 ...

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

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