当前位置:   article > 正文

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

oracle 左连接

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

  

  1. create table test_table_user(id number primary key,name varchar(32));
  2. create table test_table_order(id number primary key,des varchar(32),user_id number,foreign key(user_id) references test_table_user(id));
  3. select *from test_table_user;
  4. select *from test_table_order;
  5. insert into test_table_user(id, name) values(1,'cuiyaonan20');
  6. insert into test_table_user(id, name) values(2,'cuiyaonan200');
  7. insert into test_table_user(id, name) values(3,'cuiyaonan2000');
  8. insert into test_table_user(id, name) values(4,'cuiyaonan2000@163.com');
  9. insert into test_table_order values(1,'cuiyaonan20 des',1);
  10. insert into test_table_order values(2,'cuiyaonan200 des',2);
  11. insert into test_table_order values(3,'cuiyaonan2000 des',3);
  12. insert into test_table_order(id,des) values(4,'cuiyaonan2000@163.com des');

plsql显示内容如下所示:


 

 二. 左外连接

       实现方式1(outer可以省略)

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

 显示数据为:

    实现方式2:

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


显示数据为

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

三. 右外连接

      方式1(outer可以省略):

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


显示数据为:

   方式2:

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


显示数据位:

四.全连接

    执行sql:

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


显示结果:

 

五 where 后条件连接

   执行sql:

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


显示结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/384202
推荐阅读
相关标签
  

闽ICP备14008679号