SQL聯合查詢(內聯 左聯 右聯 全聯)的語法

2021-07-13 08:02:22 字數 2171 閱讀 8334

概述:聯合查詢效率較高,舉例子來說明聯合查詢:內聯inner join 、左聯left outer join 、右聯right outer join 、全聯full outer join 的好處及用法。

聯合查詢效率較高,以下例子來說明聯合查詢(內聯、左聯、右聯、全聯)的好處:

t1表結構

(使用者名稱,密碼)

userid

(int)

username

varchar(20)

password 

varchar(20)

1jack

jackpwd

2owen

owenpwd

t2表結構

(使用者名稱,密碼)

userid

(int)

jifen

varchar(20)

dengji 

varchar(20)120

33506

第一:內聯(inner join)。

如果想把使用者資訊、積分、等級都列出來,那麼一般會這樣寫:select * from t1 ,t3 where t1.userid = t3.userid(其實這樣的結果等同於select * from t1 inner join t3 on t1.userid=t3.userid )。

把兩個表中都存在userid的行拼成一行(即內聯),但後者的效率會比前者高很多,建議用後者(內聯)的寫法。

sql語句:select * from t1 inner join t2 on t1.userid=t2.userid

執行結果

t1.userid

username

password

t2.userid

jifen

dengji

1jack

jackpwd120

3第二:左聯(left outer join)。

顯示左表t1中的所有行,並把右表t2中符合條件加到左表t1中;右表t2中不符合條件,就不用加入結果表中,並且null表示。

sql語句:select * from t1 left outer join t2 on t1.userid=t2.userid

執行結果

t1.userid

username

password

t2.userid

jifen

dengji

1jack

jackpwd120

32owen

owenpwd

null

null

null

第三:右聯(right outer join)。

顯示右表t2中的所有行,並把左表t1中符合條件加到右表t2中;左表t1中不符合條件,就不用加入結果表中,並且null表示。

sql語句:select * from t1 right outer join t2 on t1.userid=t2.userid

執行結果

t1.userid

username

password

t2.userid

jifen

dengji

1jack

jackpwd120

3null

null

null350

6第四:全聯(full outer join)。

顯示左表t1、右表t2兩邊中的所有行,即把左聯結果表+右聯結果表組合在一起,然後過濾掉重複的。

sql語句:select * from t1 full outer join t2 on t1.userid=t2.userid

執行結果

t1.userid

username

password

t2.userid

jifen

dengji

1jack

jackpwd120

32owen

owenpwd

null

null

null

null

null

null350

6總結,關於聯合查詢,效率的確比較高,4種聯合方式如果可以靈活使用,基本上覆雜的語句結構也會簡單起來。這4種方式是:1)inner join 2)left outer join 3)right outer join 4)full outer join

SQL聯合查詢(內聯 左聯 右聯 全聯)的語法

概述 聯合查詢效率較高,舉例子來說明聯合查詢 內聯inner join 左聯left outer join 右聯right outer join 全聯full outer join 的好處及用法。聯合查詢效率較高,以下例子來說明聯合查詢 內聯 左聯 右聯 全聯 的好處 t1表結構 使用者名稱,密碼 ...

SQL聯合查詢(內聯 左聯 右聯 全聯)的語法

概述 聯合查詢效率較高,舉例子來說明聯合查詢 內聯inner join 左聯left outer join 右聯right outer join 全聯full outer join 的好處及用法。聯合查詢效率較高,以下例子來說明聯合查詢 內聯 左聯 右聯 全聯 的好處 t1表結構 使用者名稱,密碼 ...

SQL聯合查詢(內聯 左聯 右聯 全聯)的語法

概述 聯合查詢效率較高,舉例子來說明聯合查詢 內聯inner join 左聯left outer join 右聯right outer join 全聯full outer join 的好處及用法。聯合查詢效率較高,以下例子來說明聯合查詢 內聯 左聯 右聯 全聯 的好處 t1表結構 使用者名稱,密碼 ...