oracle左连接的实例,Oracle 左连接,右连接,全连接,sql实例

一.首先在本地数据库中执行如下sql操作

create table test_table_user(id number primary key,name varchar(32));

create table test_table_order(id number primary key,des varchar(32),user_id number,foreign key(user_id) references test_table_user(id));

select *from test_table_user;

select *from test_table_order;

insert into test_table_user(id, name) values(1,'cuiyaonan20');

insert into test_table_user(id, name) values(2,'cuiyaonan200');

insert into test_table_user(id, name) values(3,'cuiyaonan2000');

insert into test_table_user(id, name) values(4,'cuiyaonan2000@163.com');

insert into test_table_order values(1,'cuiyaonan20 des',1);

insert into test_table_order values(2,'cuiyaonan200 des',2);

insert into test_table_order values(3,'cuiyaonan2000 des',3);

insert into test_table_order(id,des) values(4,'cuiyaonan2000@163.com des');

plsql显示内容如下所示:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

二. 左外连接

实现方式1:

select * from test_table_user left outer join test_table_order on test_table_user.id = test_table_order.user_id;

显示数据为:

0818b9ca8b590ca3270a3433284dd417.png

实现方式2:

select *from test_table_user ,test_table_order where test_table_user.id = test_table_order.user_id(+);

显示数据为

0818b9ca8b590ca3270a3433284dd417.png

方式1与方式2完全一致, oracle 规范推荐用方式1

三. 右外连接

方式1:

select *from test_table_user right outer join test_table_order on test_table_user.id = test_table_order.user_id;

显示数据为:

0818b9ca8b590ca3270a3433284dd417.png

方式2:

select *from test_table_user ,test_table_order where test_table_user.id(+) = test_table_order.user_id;

显示数据位:

0818b9ca8b590ca3270a3433284dd417.png

四.全连接

执行sql:

select * from test_table_user full join test_table_order on test_table_user.id = test_table_order.user_id;

显示结果:

0818b9ca8b590ca3270a3433284dd417.png

五 where 后条件连接

执行sql:

select *from test_table_user ,test_table_order where test_table_user.id = test_table_order.user_id;

显示结果:

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值