SQL Joint


Exemple

Les jointures explicites doivent toujours être utilisées. les jointures implicites ont plusieurs problèmes:

  • La condition de jointure se trouve quelque part dans la clause WHERE, mélangée à toute autre condition de filtre. Cela rend plus difficile de voir quelles tables sont jointes et comment.

  • En raison de ce qui précède, le risque d’erreurs est plus élevé et il est plus probable qu’elles soient retrouvées plus tard.

  • En SQL standard, les jointures explicites sont le seul moyen d'utiliser des jointures externes :

    SELECT d.Name,
           e.Fname || e.LName AS EmpName
    FROM      Departments AS d
    LEFT JOIN Employees   AS e ON d.ID = e.DepartmentID;
    
  • Les jointures explicites permettent d'utiliser la clause USING:

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

    (Cela nécessite que les deux tables utilisent le même nom de colonne.
    USING supprime automatiquement la colonne dupliquée du résultat, par exemple, la jointure dans cette requête renvoie une seule colonne RecipeID .)