Table des matières:
Définition - Que signifie Join?
Une jointure est une opération SQL effectuée pour établir une connexion entre deux ou plusieurs tables de base de données sur la base de colonnes correspondantes, créant ainsi une relation entre les tables. La plupart des requêtes complexes dans un système de gestion de base de données SQL impliquent des commandes de jointure.
Il existe différents types de jointures. Le type de jointure utilisé par un programmeur détermine les enregistrements sélectionnés par la requête. Trois algorithmes fonctionnent derrière les opérations de jointure: jointure de hachage, jointure de fusion-tri et jointure de boucle imbriquée.
Techopedia explique Join
Le type de jointure par défaut est la jointure interne. Une jointure interne sélectionne les enregistrements de deux tables contenant des valeurs correspondantes. Les enregistrements qui ne contiennent pas de valeurs communes ou communes sont exclus de la sortie. La requête compare chaque ligne de la première table avec les lignes de la deuxième table pour trouver des lignes pour satisfaire le prédicat de jointure.
Par exemple, si une table contient des détails sur les employés et une autre contient des informations sur le manager, une jointure peut être effectuée sur les tables des employés et des managers pour afficher les employés qui sont également des managers. La requête suivante affiche les employés responsables:
SELECT * FROM Employee INNER JOIN Manager ON Employee.Managerid = Manager.Managerid
Une jointure est toujours effectuée sur les colonnes correspondantes, qui sont spécifiées dans la clause "ON" de la requête. La colonne correspondante dans cet exemple est "Managerid". Étant donné que l'opérateur «=» est utilisé, il est appelé une équijoin.
Une jointure naturelle produit également la même sortie mais utilise un mot clé "USING" dans la clause de jointure. La requête ci-dessus peut être modifiée comme suit pour indiquer une jointure naturelle:
SELECT employé, manager FROM Employee INNER JOIN Manager USING (Managerid)
Même si aucune colonne correspondante n'est spécifiée, une jointure est toujours effectuée entre deux tables. Ce type de jointure est appelé jointure croisée (parfois appelé produit cartésien), qui est la forme de jointure la plus simple. Étant donné qu'aucune contrainte sur la clé n'est spécifiée, chaque ligne de la première table est jointe à toutes les lignes de la deuxième table. Si la première table a deux lignes et la deuxième table a trois lignes, la sortie aura six lignes.
La jointure externe est un autre type de jointure important. Les jointures externes, en général, prennent en sortie tous les enregistrements d'une table et les enregistrements correspondants de l'autre table. Une jointure externe peut être une jointure externe gauche ou une jointure externe droite. Dans une jointure externe gauche, toutes les tables de la table de gauche - même si elles ne remplissent pas les conditions de correspondance - et les lignes correspondantes de la table de droite sont affichées dans la sortie. Dans une jointure externe droite, toutes les lignes de la table de droite et les lignes correspondantes de la table de gauche sont affichées en sortie.
Dans de rares cas, une table peut être jointe à elle-même. C'est ce qu'on appelle une auto-jointure.
