您的位置:首页 > 数据库 > Oracle

oracle join

2013-10-09 16:18 507 查看
1  假设a表和b表的数据是这样的。  


  a                         b    


  id     name  id     stock   


  1  a             1         15  


  2         b             2         50  


  3         c                  


   


  select   *   from   a   inner   join   b   on   a.id=b.id  


  这个语法是连接查询中的内连接,它产生的结果是  


  两个表相匹配的记录出现在结果列表中。  


  根据上面的表,出现的结果是这样的  


  a.id     name     b.id     stock  


  1       a             1         15  


  2             b             2         50  


  ----------------------------
 

select   *   from   a,b   where   a.id=b.id  


  这个语法是内连接的另外一种写法,其执行结果与inner   join   一样
 




 --------------------------------    


   


  select   *   from   a   left/right   join   b   on   a.id=b.id  


  这个是外连接语法中的左外连接或右外连接  


  如果是左外连接的话,它将显示a表的所有记录,  


  select   a.*,b.*   from   a   left   join   b   on   a.id=b.id  


  查询的结果是这样的:  


  a.id     name     b.id     stock  


  1         a         1             15  


  2               b         2             50  


  3               c       null         null   


  --------------------------------------------  


  如果是右外连接的话,它将显示b表的所有记录,  


  select   a.*,b.*   from   a   right   join   b   on   a.id=b.id  


  查询的结果是这样的:  


  a.id     name     b.id     stock  


  1         a         1             15  


  2               b         2             50   

select   a.*,b.*   from   a   left   join   b   on   a.k   =   b.k    


  select   a.*,b.*   from   a   left   outer   join   b   on   a.k   =b.k  


  ----------上面两种一样left   join是left   outer   join的简写
 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle