ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle 左右连接总结

Oracle 左右连接总结

原创 Linux操作系统 作者:shilei1 时间:2011-12-15 08:12:56 0 删除 编辑
Oracle 左右连接总结
--建立测试数据
  create table a(id number);
  create table b(id number);
  insert into a values(1);
  insert into a values(2);
  insert into a values(3);
  insert into b values(1);
  insert into b values(2);
  insert into b values(4);
  commit;
--左连接;
  --主流数据库通用的方法
  select * from a left join b on a.id = b.id;
  --Oracle特有的方法
  select * from a, b where a.id = b.id(+)
--结果 
    ID ID
1 1 1
2 2 2
3 3  
--右连接:
  --主流数据通用的方法
  select * from a right join b on a.id = b.id;
  --Oracle特有的方法
  select * from a, b where a.id(+) = b.id
--结果
    ID ID
1 1 1
2 2 2
3  4
--内连接:
  --主流数据库通用的方法
  select * from a join b on a.id=b.id
  --where关联
  select * from a ,b where a.id=b.id
--结果
    ID ID
1 1 1
2 2 2

--全外连接:
  --主流数据库通用的方法
  select * from a full join b on a.id =b.id
  --Oracle特有的方法
  select * from a,b where a.id =b.id(+)
  union
  select * from a,b where a.id(+) =b.id
--结果
    ID ID
1 1 1
2 2 2
3 3 
4  4
--完全连接,也叫交叉连接或者笛卡尔积
  --主流数据库通用的方法
  select * from a,b;
  --或者
  select * from a cross join b;
--结果
    ID ID
1 1 1
2 1 2
3 1 4
4 2 1
5 2 2
6 2 4
7 3 1
8 3 2
9 3 4

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/196700/viewspace-713386/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-10-10

  • 博文量
    534
  • 访问量
    8296