cyberhedgehog

导航

我要搞懂联接的概念

内联:   左表的一行和右表的每一行进行比较, 如果左表的一行和右表的一行符合联条件,则返回为结果集中的一行 ------   等效于where条件
     sql语法:   select __ from __ inner join __ on __ 
     linQ语法:   from __ in __   join __ in __ on __  select __
     结果集:                                                      

外联 (跟内联的区别是,外联结至少返回左边或右表中的所有行)
       1.左向外联: 返回左表的所有行,如果左表的某行在右表没有匹配行,则右表返回空,并组合成结果集中的一行,如果有则联成结果集中的一行
     语法:   select __ from __ left outer join __ on __ 
     结果集:                                                      
       2.右向外联:返回右表的所有行,如果右表的某行在左表没有匹配行,则左表返回空,并组合成结果集中的一行,如果有则联成结果集中的一行   
     语法:   select __ from __ right outer join __ on __
     结果集:                                                        
       3.完整外部联:返回左表和右边的所有行;若不匹配,则一边有值,一边为空
     语法:   select __ from __ full outer join __ on __
     结果集:                                                         
交叉联:返回左表中的每一行,左表中的每一行与右表中的所有行组合,结果集的行数等于左表的行数乘右表的行数
     语法:   select __ from __ cross join __ on __
     结果集:                                                          
自联:和自身进行联     语法:   select __ from __ inner join __ on __
多表联:
     语法:   select __ from __ inner join __ on __ inner join __ on __

posted on 2008-05-13 17:38  HedgeHog  阅读(325)  评论(0编辑  收藏  举报