加盟
應始終使用顯式連線; 隱式連線有幾個問題:
-
連線條件位於 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
列。)