ORACLE连接类型 各种连接查询PL/SQL测试

 
---测试ORACLE 所有连接类型 PL/SQL 中执行的
--本人初学,可能有理解不到位的地方,请指正,谢谢!
--建表
create table xxaa (id number(10),name varchar2(20));

create table xxbb (idd number(10),namee varchar2(20));

--INSERT 数据,或者 FOR UPDATE 也可以
select * from xxaa for update;
select * from xxbb for update;

/*  表A 数据
1 1 a
2 2 b
3 3 c
4 4 d
5  e
6  f
*/
/* 表B数据
1 1 e
2 2 f
3 3 g
4 4 h
5 5 i
6 6 j
7 7 k
8 8 l
9 9 
*/

  1. ---测试ORACLE 所有连接类型 PL/SQL 中执行的
  2. --本人初学,可能有理解不到位的地方,请指正,谢谢!
  3. --建表
  4. create table xxaa (id number(10),name varchar2(20));
  5. create table xxbb (idd number(10),namee varchar2(20));
  6. --INSERT 数据,或者 FOR UPDATE 也可以 
  7. select * from xxaa for update;
  8. select * from xxbb for update;
  9. /*  表A 数据 
  10. 1   1   a
  11. 2   2   b
  12. 3   3   c
  13. 4   4   d
  14. 5       e
  15. 6       f
  16. */
  17. /* 表B数据
  18. 1   1   e
  19. 2   2   f
  20. 3   3   g
  21. 4   4   h
  22. 5   5   i
  23. 6   6   j
  24. 7   7   k
  25. 8   8   l
  26. 9   9   
  27. */
  28. select * from xxaa a,xxbb b where a.id(+)=b.idd;--右连接,以B表为基表,匹配B表中的都输出 
  29. select * from xxaa a,xxbb b where a.id=b.idd(+); --左连接,以A表为基表,匹配A表的都输出 相当于left join 和left outer Join
  30. select * from xxaa a,xxbb b where a.id=b.idd;  -- =连接 A,B表都匹配才输出
  31. select * from xxaa a left join xxbb b on (a.id=b.idd); --左内连
  32. select * from xxaa a right join xxbb b on (a.id=b.idd); --右内连
  33. select * from xxaa a full join xxbb b on (a.id=b.idd);   --完全连接 --A表和B表的 并集 
  34. select * from xxaa a inner join xxbb b on (a.id=b.idd);  --内连接 --A表和B表的 交集
  35. select * from xxaa a left outer join xxbb b on (a.id=b.idd);--左外连
  36. select * from xxaa a right outer join xxbb b on (a.id=b.idd); --右外连
  37. select * from xxaa a full outer join xxbb b on (a.id=b.idd);  --完全外联
  38. select * from xxaa a  join xxbb b on (a.id=b.idd);  --相当于= 连接

select * from xxaa a,xxbb b where a.id(+)=b.idd;--右连接,以B表为基表,匹配B表中的都输出
select * from xxaa a,xxbb b where a.id=b.idd(+); --左连接,以A表为基表,匹配A表的都输出 相当于left join 和left outer Join
select * from xxaa a,xxbb b where a.id=b.idd;  -- =连接 A,B表都匹配才输出
select * from xxaa a left join xxbb b on (a.id=b.idd); --左内连
select * from xxaa a right join xxbb b on (a.id=b.idd); --右内连
select * from xxaa a full join xxbb b on (a.id=b.idd);   --完全连接 --A表和B表的 并集
select * from xxaa a inner join xxbb b on (a.id=b.idd);  --内连接 --A表和B表的 交集
select * from xxaa a left outer join xxbb b on (a.id=b.idd);--左外连
select * from xxaa a right outer join xxbb b on (a.id=b.idd); --右外连
select * from xxaa a full outer join xxbb b on (a.id=b.idd);  --完全外联
select * from xxaa a  join xxbb b on (a.id=b.idd);  --相当于= 连接


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值