加盟
应始终使用显式连接; 隐式连接有几个问题:
-
连接条件位于 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
列。)