Oracle資料關聯查詢

來源:互聯網
上載者:User

來源:賽迪網    作者:Alizze

關聯在Oracle資料查詢時會經常用到,靈活的應用關聯可以解決很多實際應用的問題.下面給出一些樣本:

建表


create table ab
(
ab_id number(5),
ab_name varchar2(30)
);

create table bb
(
bb_id number(5),
bb_name varchar2(30)
);

插入資料


insert into ab(ab_id,ab_name) values(1,'1ab_name');
insert into ab(ab_id,ab_name) values(2,'2ab_name');
insert into ab(ab_id,ab_name) values(3,'3ab_name');

insert into bb(bb_id,bb_name) values(1,'1bb_name');
insert into bb(bb_id,bb_name) values(2,'2bb_name');
insert into bb(bb_id,bb_name) values(4,'4bb_name');
insert into bb(bb_id,bb_name) values(6,'6bb_name');

等值關聯(全關聯)


select a.ab_id,a.ab_name,b.bb_name from ab a,
bb b
where a.ab_id=b.bb_id;

返回結果


AB_ID AB_NAME BB_NAME
1 1ab_name 1bb_name
2 2ab_name 2bb_name

返回兩個表中所有能匹配的記錄,不能匹配的記錄不返回。

左關聯


select ab_id,ab_name, bb_name 
from ab a left join bb b
on a.ab_id=b.bb_id;

select ab_id,ab_name, bb_name
from ab a , bb b
where a.ab_id=b.bb_id(+);

返回結果


AB_ID AB_NAME BB_NAME
1 1ab_name 1bb_name
2 2ab_name 2bb_name
3 3ab_name

返回左邊表的左右記錄,在右邊表中沒有對應記錄的右表欄位顯示為空白。

右關聯


select ab_id,ab_name, bb_name 
from ab a right join bb b
on a.ab_id=b.bb_id;

select ab_id,ab_name, bb_name
from ab a , bb b
where a.ab_id(+)=b.bb_id;

返回結果:


AB_ID AB_NAME BB_NAME
1 1ab_name 1bb_name
2 2ab_name 2bb_name
4bb_name
6bb_name

返回右邊表中所有的記錄,在右邊表不能匹配的記錄行上,左邊表對應的欄位顯示為空白。

完全外關聯


select ab_id,ab_name, bb_name 
from ab a full join bb b
on a.ab_id=b.bb_id;

返回結果


AB_ID AB_NAME BB_NAME
1 1ab_name 1bb_name
2 2ab_name 2bb_name
3 3ab_name
6bb_name
4bb_name

返回兩個表所有的結果,如果在關聯條件上沒有對應的記錄,那麼將在該列上顯示為空白。

全關聯返回的結果集範圍最小。完全外關聯返回的結果範圍最大,是否左關聯和右關聯並集;全關聯是左關聯和右關聯的交集。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.