左外連線和右外連線的差別以及運用

2022-03-25 13:20:07 字數 659 閱讀 3711

a(id,name)

資料:(1,張三)(2,李四)(3,王五)

b(id,name)

資料:(1,學生)(2,老師)(4,校長)

左連線結果:

select a.*,b.* from a left join b on a.id=b.id;

1 張三 1 學生

2 李四 2 老師

3 王五 null null

右鏈結結果:

select a.*,b.* from a right join b on a.id=b.id;

1 張三 1 學生

2 李四 2 老師

null null 4 校長

****************

補充:下面這種情況就會用到外連線

比如有兩個表乙個是使用者表,乙個是交易記錄表,如果我要查詢每個使用者的交易記錄就要用到左外外連線,因為不是每個使用者都有交易記錄。

用到左外連線後,有交易記錄的資訊就會顯示,沒有的就顯示null,就像上面我舉得例子一樣。

如果不用外連線的話,比如【王五】沒有交易記錄的話,那麼使用者表裡的【王五】的資訊就不會顯示,就失去了查詢所有使用者交易記錄的意義了。

****************

看一下結果就能明白左右連線的區別了。

左連線 左外連線 右外連線

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

自然連線,外連線,左外連線,右外連線

1.自然連線 結果基於表r和s的笛卡爾乘積,取對應的r和s中相同屬性組都相同的值,同時相同屬性組只保留乙個 先來看圖示,2個表以及自然連線的結果 操作的步驟 1.1找出2個表中相同的屬性組 屬性a加上屬性b 1.2找相同屬性組中,相同的屬性值所對應的元組 相同的屬性值 1.2.相同屬性值對應的元組 ...

左外連線 右外連線 全連線

例子 create table t1 c1 int primary key,c2 int create table t2 cc1 int primary key,cc2 int insert into t1 values 1,1 2,2 5,5 insert into t2 values 2,2 3...