加盟

应始终使用显式连接; 隐式连接有几个问题:

  • 连接条件位于 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 列。)