oracle中join的用法

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

你可能感兴趣的:(JOIN,oracle,table,insert,sqlserver)