Join用法之疑惑
   Declare      @A   Table      (ID	int,    
 		sName	varchar(20)   )   
 Declare   @Aa   Table(ID   int,    
 		iPrice	Decimal(18,   2))   
 insert   Into   @A   Values   (1,    '笔记本 ') 
 Insert   into   @Aa   Values   (1,   12345.30) 
 Insert   Into   @Aa   Values   (1,   345.52)   
 Select   *   from   @A 
 Select   *   from   @Aa   
 Select   *   from   @A   a   Left   Join   @Aa   b   on   a.ID   =   b.ID 
 Select   *   from   @A   a   right   Join   @Aa   b   on   a.ID   =   b.ID     
 此处的   Left   Join   与      right   Join   有何区别?   
------解决方案--------------------  Select * from @A a right Join @Aa b on a.ID = b.ID 
 相当于 
 Select * from @Aa b left Join  on @A a a.ID = b.ID
------解决方案--------------------@A a Left Join @Aa b 
 on a.ID = b.ID -- 匹配条件   
 首先,返回左边@A表全部记录。 
 其次,右边@Aa表返回配记录 + 不匹配部分返回NULL。     
 @A a right Join @Aa b 
 on a.ID = b.ID -- 匹配条件   
 反之。
------解决方案--------------------Select * from @A a Left Join @Aa b on a.ID = b.ID 
 将包含a中所有的记录,包含b中与a有相同ID 的记录   
 Select * from @A a right Join @Aa b on a.ID = b.ID 
 将包含b中所有的记录,包含a中与b有相同ID 的记录
------解决方案--------------------Declare  @A Table  (ID	int,  
 		sName	varchar(20) )   
 Declare @Aa Table(ID int,  
 		iPrice	Decimal(18, 2))   
 insert Into @A Values (2,  'ibm笔记本 ') 
 insert Into @A Values (1,  'ibm笔记本 ') 
 Insert into @Aa Values (1, 12345.30) 
 Insert Into @Aa Values (1, 345.52) 
 Insert Into @Aa Values (3, 345.52)   
 Select * from @A 
 Select * from @Aa   
 Select * from @A a Left Join @Aa b on a.ID = b.ID 
 Select * from @A a right Join @Aa b on a.ID = b.ID     
 A LEFT  join B 是以A表数据为主,当B表没有数据与之对应时B表数据以NULL形式出现,RIGHT 反之