simple =, join,left out join,right outer join, cross join

 a. =
       eg.
       Select A.a B.b from A, B where A.a=B.a and A.c=’herengang’;
     under this condition, it only shows the data that A.a=B.a and A.c=”herengang”.
   Although it there is data which .c is “herengang” ,but if we  can’t find such record which .a value equals to A.a in Table B, then it will be cleared.
 b.  left join
    select A.a, B.a 
    from table  A
             left join table B
            on  A.a =B.a and A.c=”herengang”
       under this condition, all of data which .c is “herengang” will be retrieved, and then if B.a exists, then show the value of B.a .

e.g Table A                                                Table B
      columnA columnB columnC              columnA columnB columnC    
           1            3            a                       1         'ok'     23.3
           2            4            b                       3          'sorry'    3.0

A join B (A inner B) ,result is 
     1       3        a      1     'ok'      23.3
A left join B, result is 
     1       3       a       1    'ok'       23.3
     2       4       b     null   null    null
A cross join B
      1       3       a      1    'ok'      23.3
      1       3       a      3   'sorry'   3.0
      2       4       b      1    'ok'      23.3
      2       4       b      3    'sorry'    3.0

posted on 2008-01-16 11:18  飞天舞者  阅读(277)  评论(0编辑  收藏  举报

导航

For more information about me, feel free email to me winston.he@hotmail.com