資料庫查詢語句的左連線和右連線

2021-06-21 10:06:04 字數 2262 閱讀 7103

左連線和右連線都是外部連線,也就是區別於內部連線,它對不滿足連線條件的行,並不是象內部連線一樣將資料完全過濾掉,而是保留一部分資料,行數不會減少。

內部連線是兩個表中都必須有連線欄位的對應值的記錄,資料才能檢索出來

左連線是只要左邊表中有記錄,資料就能檢索出來,而右邊有的記錄必要在左邊表中有的記錄才能被檢索出來

右連線是只要右邊表中有記錄,資料就能檢索出來

左連線就是以左邊的表記錄為主,右連線就是以右邊的表記錄為主

create table table1(

user_id int primary key,

user_name varchar(20),

user_pass varchar(20)

);create table table2(

user_id int primary key,

user_power varchar(20)

);insert into table1 values(1,'aaa','aaa');

insert into table1 values(2,'bbb','bbb');

insert into table1 values(3,'ccc','ccc');

insert into table2 values(1,'111');

insert into table2 values(2,'222');

select table1.user_id,table1.user_name,table2.user_power from table1,table2 where table1.user_id = table2.user_id;

左連線sql server中

select table1.user_id,table1.user_name,table2.user_power from table1,table2 where table1.user_id(+) = table2.user_id;

mysql中

select table1.user_id,table1.user_name,table2.user_power from table1 left join table2 on table1.user_id = table2.user_id;

上面是測試sql語句,自己可以試一試

有兩個表

table1

user_id       user_name       user_pss

1              aaa             a

2              bbb             b

3              ccc             c

table2

user_id       user_power

1              111000

2              000111

使用sql

語句查詢

正常狀態:

select table1.user_id,

table1.user_name,

table2.user_power

from table1,table2

where table1.user_id = table2.user_id

但是這樣檢索到的資料只有兩條:

user_id       user_name        user_power

1             aaa              000111

2             bbb              111000

因為第三條資料在table2

中沒有關聯.

這時使用左連線查詢﹕

select table1.user_id,table1.user_name,table2.user_power

from table1,table2

where table1.user_id (+)= table2.user_id

就可以得到如下的結果

user_id       user_name        user_power

1             aaa              000111

2             bbb              111000

3             ccc              (null)

說明﹐左或右連線查詢實際上是指定以哪個表的資料為準﹐而預設(不指定左或右連線)是以兩個表中都存在關鍵列的資料的為準。

資料庫的左連線和右連線

例1 假設2 張表a 表和b表,a 表的字段有id,b 表的字段有b id,a id a 表的值為 id 1 b 表的值為 b id a id 1 3 針對上述情況 join on 語句 select from a join b on a.id b.a id 查出的結果為0 條記錄left on 語...

資料庫左連線右連線

一般所說的左連線,外連線是指左外連線,右外連線。1 先說左外連線和右外連線 先來檢視一下我們要測試的兩個表的資料 select from t1 id name 1aaa 2bbb select from t2 idage 130 對於左外聯接 sql left join 關鍵字 select col...

資料庫操作語句 左連線,右連線,內連線

假設有a,b兩個表。表a記錄如下 aid anum 1 a20050111 2 a20050112 3 a20050113 4 a20050114 5 a20050115 表b記錄如下 bid bname 1 2006032401 2 2006032402 3 2006032403 4 200603...