================================
1、左外连接( left join )
    Select * from table1 left join table2 on 
       table1.id = table2.id
 
  Can also use :
 
   Select * from table1,table2
       Where table1.id*=table2.id 2、右外连接( right join )
    select * from table1 right join table2 on 
       table1.id = table2.id
   
  Can also use :
   
    Select * from table1,table2
       Where table1.id=*table2.id 3、全外连接( full outer join ):左右连接的结合。
    Select * from table1 full outer join table2 on
       table1.id*=table2.id =================================INNER JOIN:
  指定返回每对匹配的行。废弃两个表中不匹配的行。如果未指定联接类型,则这是默认设置。FULL [OUTER] JOIN
  指定在结果集中包含左表或右表中不满足联接条件的行,并将对应于另一个表的输出列设为 FULL。这是对通常由 INNER JOIN 返回的所有行的补充。
  说明  按此处指定的方法指定外联接或在 WHERE 子句中使用旧式非标准的 *= 和 =* 运算符都是可行的。不能在同一语句中同时使用这两种方法。
LEFT [OUTER] JOIN:
    指定在结果集中包含左表中所有不满足联接条件的行,且在由内联接返回所有的行之外,将另外一个表的输出列设为 NULL。RIGHT [OUTER] JOIN:
    指定在结果集中包含右表中所有不满足联接条件的行,且在由内联接返回的所有行之外,将与另外一个表对应的输出列设为 NULL。=========================

解决方案 »

  1.   

    1、在上面两条语句中无任何区别。Where 指定联接条件,而 Join 可在From子句的联接中指定联接类型。
    2、若要包括不匹配的记录则需要使用外部联接--Left Outer Join 和 Right Outer Join.其中Left Outer Join 指包括联接条件左边的所有记录和联接条件右边的且满足联接条件的记录。
    Right Outer Join 指包括联接条件右边的所有记录和联接条件左边的且满足联接条件的记录。