Oracle之left join,right join,inner join,full join

来源:互联网 发布:淘宝steam十大黑店 编辑:程序博客网 时间:2024/05/22 02:01

1. 首先创建A、B表

CREATE TABLE A(aid int NOT NULL, aname VARCHAR2(10) NOT NULL)insert into A(aid,aname) values(1,'andy11');insert into A(aid,aname) values(2,'andy22');insert into A(aid,aname) values(3,'andy33');insert into A(aid,aname) values(4,'andy44');insert into A(aid,aname) values(5,'andy55');CREATE TABLE B(bid int NOT NULL, bmajor VARCHAR2(10) NOT NULL)insert into B(bid,bmajor) values(1,'java1');insert into B(bid,bmajor) values(2,'java3');insert into B(bid,bmajor) values(3,'java5');insert into B(bid,bmajor) values(4,'java7');insert into B(bid,bmajor) values(8,'java9');
1.1 select * from A;数据如下:


1.2select * from B; 数据如下:


2.left join或left outer join:左联接,返回包括左表中的所有记录和右表中联结字段相等的记录

2.1 select * from A left join B on a.aid=b.bid;

2.2 select* from B left join A on a.aid=b.bid;

3.right join或right outer join:右联接,返回包括右表中的所有记录和左表中联结字段相等的记录

3.1 select * from B right join A on a.aid=b.bid

3.2 select * from A right join B on a.aid=b.bid;

;

4.inner join:等值连接,只返回两个表中联结字段相等的行

4.1 select* from B inner join A on a.aid=b.bid;


4.2 select* from A inner join B on a.aid=b.bid;


5.full join或full outer join:完全连接,返回两个表的所有记录行
51 select * from B full join A on a.aid=b.bid;


5.2 select * from A full join B on a.aid=b.bid;




1 0
原创粉丝点击