MySQL聯合查詢語法內聯 左聯 右聯 全聯

2022-02-01 05:10:23 字數 2001 閱讀 6050

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

t1表結構(使用者id,使用者名稱,密碼)   

userid   username  password

1    jack    jackpwd   

2    owen    owenpwd   

t2表結構(使用者id,使用者積分,使用者等級)   

userid(int)   jifen   dengji 

1       20     3   

3       50     6   

第一:內聯( 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   

1   jack   jackpwd   1   20   3   

第二:左聯( left

join

)顯示左表t1中的所有行,並把右表t2中符合條件加到左表t1中;

右表t2中不符合條件,就不用加入結果表中,並且null表示。

sql語句:

select

*from t1 left

join t2 on t1.userid = t2.userid

執行結果   

t1.userid   username   password   t2.userid   jifen   dengji   

1   jack   jackpwd   1   20   3   

2   owen   owenpwd   null   null   null   

第三:右聯( right

join

)。顯示右表t2中的所有行,並把左表t1中符合條件加到右表t2中;

左表t1中不符合條件,就不用加入結果表中,並且null表示。

sql語句:

select

*from t1 right

join t2 on t1.userid = t2.userid

執行結果   

t1.userid   username   password   t2.userid   jifen   dengji   

1   jack   jackpwd   1   20   3   

null   null   null   3   50   6   

第四:全聯( full

join

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

sql語句:

select

*from t1 full

join t2 on t1.userid = t2.userid

執行結果   

t1.userid   username   password   t2.userid   jifen   dengji   

1   jack   jackpwd   1   20   3   

2   owen   owenpwd   null   null   null   

null   null   null   3   50   6   

總結,關於聯合查詢,效率的確比較高,4種聯合方式如果可以靈活使用,基本上覆雜的語句結構也會簡單起來。

MySQL聯合查詢語法內聯 左聯 右聯 全聯

mysql聯合查詢效率較高,以下例子來說明聯合查詢 內聯 左聯 右聯 全聯 的好處 t1表結構 使用者名稱,密碼 userid int usernamevarchar 20 passwordvarchar 20 1 jack jackpwd 2 owen owenpwd t3表結構 使用者名稱,密碼...

MySQL聯合查詢語法內聯 左聯 右聯 全聯

mysql聯合查詢效率較高,以下例子來說明聯合查詢 內聯 左聯 右聯 全聯 的好處 t1表結構 使用者名稱,密碼 userid int usernamevarchar 20 passwordvarchar 20 1 jack jackpwd 2 owen owenpwd t2表結構 使用者名稱,密碼...

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

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