sql聯合查詢

2022-01-24 06:03:29 字數 1925 閱讀 1573

聯合查詢效率較高.以下例子來說明聯合查詢的好處

t1表結構(使用者名稱,密碼)    userid int         username   varchar(20)     password       varchar(20)

1                    jack                           jackpwd

2                    owen                        owenpwd

t3表結構(使用者積分,等級)    userid int         jf   int                   dj           int

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的行拼成一行.這是內聯.但後者的效率會比前者高很多.建議用後者的寫法.

執行結果:userid    username password     userid   jf    dj

1             jack        jacjpwd      1          20   3

第二:左聯(left outer join)顯示左表中的所有行

select * from t1 left outer join t3 on t1.userid=t3.userid

執行結果:userid    username password     userid   jf     dj

1        jack          jackpwd       1         20   3

2       owen         owenpwd     null null   null

第三:右聯(right outer join)顯示右表中的所有行

select * from t1 right outer join t3 on t1.userid=t3.userid

執行結果:userid    username password     userid   jf     dj

1        jack          jackpwd       1         20   3

null    null           null              3        50     6

第四:全聯(full outer join)顯示兩邊表中所有行

select * from t1 full outer join t3 on t1.userid=t3.userid

執行結果:userid    username password     userid   jf     dj

1        jack          jackpwd       1         20   3

2       owen         owenpwd     null null   null

null    null           null              3        50     6

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

inner join          left outer join           right outer join        full outer join

SQL 聯合查詢

use xsgl go select from student select from cause select from exam 聯合查詢 join on 預設為inner,如果有right or left 那麼就指的是外聯,outer 可以不寫 1.最長見為內聯 table1 inner jo...

sql聯合查詢

sql查詢 多表聯合查詢 將具有相同的字段的查詢結果合併為乙個表 關鍵字 union 例項 查詢subs表 select subs id,prefix,acc nbr,cust id,user id,acct id,price plan id,area id,update date from sub...

SQL 聯合查詢

a表 aaa bbb ccc 1a 1b 1c 2a 2b 2c 3a 3b 3c b表 aaa bbb ddd 1a 1b 1d 4a 4b 4d 1 union union all all 表示將查詢的所有結果都合併到結果集中,若不加all會將重複的行只保留一行 sql view plain c...