mysql連表查詢

2021-07-26 06:00:18 字數 1926 閱讀 1840

mysql連表查詢

(上下)

select * from a.mobile_user (where)

union all

select * from b.mobile_user (where)

(左右)

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

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

userid(int) usernamevarchar(20) passwordvarchar(20)

1 jack jackpwd

2 owen owenpwd

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

userid(int) jifenvarchar(20) dengjivarchar(20)

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 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

1 jack jackpwd 1 20 3

2 owen 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

1 jack jackpwd 1 20 3

null null null 3 50 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

1 jack jackpwd 1 20 3

2 owen owenpwd null null null

null null null 3 50 6

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

mysql的連表查詢 MySQL 連表查詢

連表查詢 連表查詢通常分為內連線和外連線。內連線就是使用inner join進行連表查詢 而外連線又分為三種連線方式,分別是左連線 left join 右連線 right join 全連線 full join 下來我們一起來看一下這幾種連線方式的區別及基礎用法。內連線inner join inner...

mysql連表查詢

多張表無條件的聯合查詢.沒有任何意思 select a.b.from a,b 格式1 顯式的內連線 select a.b.from a inner join b on ab的連線條件格式2 隱式的內連線 select a.b.from a,b where ab的連線條件左外連線 先展示join左邊的...

mysql 連表查詢

迪卡爾積顯示結果 原始的連表查詢 mysql select from stu,teacher where stu.tid teacher.id id name tid id name info 3 二狗子 3 3 pyhui python老師 4 三狗子 4 4 pytt python爬蟲 2 ro...