加盟

應始終使用顯式連線; 隱式連線有幾個問題:

  • 連線條件位於 WHERE 子句中的某個位置,與任何其他過濾條件混合在一起。這使得更難以看到哪些表連線,以及如何連線。

  • 由於上述原因,出錯的風險較高,而且更有可能在以後發現。

  • 在標準 SQL 中,顯式連線是使用外連線的唯一方法 :

    SELECT d.Name,
           e.Fname || e.LName AS EmpName
    FROM      Departments AS d
    LEFT JOIN Employees   AS e ON d.ID = e.DepartmentID;
    
  • 顯式連線允許使用 USING 子句:

    SELECT RecipeID,
           Recipes.Name,
           COUNT(*) AS NumberOfIngredients
    FROM      Recipes
    LEFT JOIN Ingredients USING (RecipeID);
    

    (這要求兩個表使用相同的列名
    .USING 會自動從結果中刪除重複列,例如,此查詢中的連線將返回單個 RecipeID 列。)