CSDN博客

img superying

oracle中join的用法

发表于2008/10/3 21:59:00  959人阅读

oracle中join的用法

8i:  
   
  create   table   dali.test1(a   int,b   int);  
  create   table   dali.test2(a   int,b   int);  
   
  insert   into   dali.test1   values(1,456);  
  insert   into   dali.test1   values(2,427);  
  insert   into   dali.test2   values(1,45456);  
  insert   into   dali.test2   values(3,45656);  
   
  ---内连接  
  select   *   from   dali.test1   a,   dali.test2   b   where   a.a=b.a;  
   
  ---左连接  
  select   *   from   dali.test1   a,   dali.test2   b   where   a.a=b.a(+);  
   
  ---右连接  
  select   *   from   dali.test1   a,   dali.test2   b   where   a.a(+)=b.a;  
   
  ---完全连接  
  select   *   from   dali.test1   a,   dali.test2   b   where   a.a=b.a(+)  
  union  
  select   *   from   dali.test1   a,   dali.test2   b   where   a.a(+)=b.a;  
   
  ---迪卡尔  
  select   *   from   dali.test1,   dali.test2;
'==================================================================
9i和sqlserver一样   left   join,right   join,full   join




内连接结果:
    A   B    A  B
1  1  456  1  45456
'----------------------------
左连接结果:
    A    B    A    B
1  1    456  1  45456
2  2    427
'====================
右连接结果:
    A    B    A    B
1  1   456   1    45456
2               3    45656
'=============================
完全连接结果:
    A    B      A    B
1   1   456     1   45456
2   2   427
3               3   45656
'========================
笛卡尔结果:
    A    B    A    B
1  1   456   1   45456
2  2   427   1   45456
3  1   456   3   45656
4  2   427   3   45656
0 0

相关博文

我的热门文章

img
取 消
img