如表   
  -------------------------------------------------   
  table1 | table2 |   
  -------------------------------------------------   
  id name |id score |   
  1 lee |1 90 |   
  2 zhang |2 100 |   
  4 wang |3 70 |   
  -------------------------------------------------   
    
  以下均在查詢分析器中執行   
    
  一、外串連   
  1.概念:包括左向外聯結、右向外聯結或完整外部聯結   
    
  2.左串連:left   join   或   left   outer   join   
  (1)左向外聯結的結果集包括   left   outer   子句中指定的左表的所有行,而不僅僅是聯結列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有挑選清單列均為空白值(null)。   
  (2)sql語句   
  select   *   from   table1   left   join   table2   on   table1.id=table2.id   
  -------------結果-------------   
  id name id score   
  ------------------------------   
  1 lee 1 90   
  2 zhang 2 100   
  4 wang null null   
  ------------------------------   
  注釋:包含table1的所有子句,根據指定條件返回table2相應的欄位,不符合的以null顯示   
    
  3.右串連:right   join   或   right   outer   join   
  (1)右向外聯結是左向外聯結的反向聯結。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。   
  (2)sql語句   
  select   *   from   table1   right   join   table2   on   table1.id=table2.id   
  -------------結果-------------   
  id name id score   
  ------------------------------   
  1 lee 1 90   
  2 zhang 2 100   
  null null 3 70   
  ------------------------------   
  注釋:包含table2的所有子句,根據指定條件返回table1相應的欄位,不符合的以null顯示   
    
  4.完整外部聯結:full   join   或   full   outer   join     
  (1)完整外部聯結返回左表和右表中的所有行。當某行在另一個表中沒有匹配行時,則另一個表的挑選清單列包含空值。如果表之間有匹配行,則整個結果集行包含基表的資料值。   
  (2)sql語句   
  select   *   from   table1   full   join   table2   on   table1.id=table2.id   
  -------------結果-------------   
  id name id score   
  ------------------------------   
  1 lee 1 90   
  2 zhang 2 100   
  4 wang null null   
  null null 3 70   
  ------------------------------   
  注釋:返回左右串連的union(見上左、右串連)   
    
  二、內串連   
  1.概念:內聯結是用比較子比較要聯結列的值的聯結   
    
  2.內串連:join   或   inner   join     
    
  3.sql語句   
  select   *   from   table1   join   table2   on   table1.id=table2.id   
  -------------結果-------------   
  id name id score   
  ------------------------------   
  1 lee 1 90   
  2 zhang 2 100   
  ------------------------------   
  注釋:只返回合格table1和table2的列   
    
  4.等價(與下列執行效果相同)   
  a:select   a.*,b.*   from   table1   a,table2   b   where   a.id=b.id   
  b:select   *   from   table1   cross   join   table2   where   table1.id=table2.id     (註:cross   join後加條件只能用where,不能用on)   
    
  三、交叉串連(完全)   
    
  1.概念:沒有   where   子句的交叉聯結將產生聯結所涉及的表的笛卡爾積。第一個表的行數乘以第二個表的行數等於笛卡爾積結果集的大小。(table1和table2交叉串連產生3*3=9條記錄)   
    
  2.交叉串連:cross   join   (不帶條件where...)   
    
  3.sql語句   
  select   *   from   table1   cross   join   table2   
  -------------結果-------------   
  id name id score   
  ------------------------------   
  1 lee 1 90   
  2 zhang 1 90   
  4 wang 1 90   
  1 lee 2 100   
  2 zhang 2 100   
  4 wang 2 100   
  1 lee 3 70   
  2 zhang 3 70   
  4 wang 3 70   
  ------------------------------   
  注釋:返回3*3=9條記錄,即笛卡爾積   
    
  4.等價(與下列執行效果相同)   
  a:select   *   from   table1,table2   轉自:http://323229113.blog.163.com/blog/static/2185362820070172553209/ 附:常用的彙總函式select Count(*) from table2           查詢記錄數 3select Sum(Score) from table2       查詢累加值 260
select Min(Score) from table2         查詢最小值  70
select Max(Score)from table2      查詢最大值 100
select AVG(Score) from table2    查詢平均值 86