Join

Définition - Que signifie Rejoindre?

Une jointure est une opération SQL effectuée pour établir une connexion entre deux ou plusieurs tables de base de données en fonction des 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 qu'un programmeur utilise détermine les enregistrements sélectionnés par la requête. Trois algorithmes fonctionnent derrière les opérations de jointure: jointure par hachage, jointure par tri-fusion et jointure par boucle imbriquée.

Definir Tech explique Rejoindre

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 correspondantes 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 répondant au 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 responsable, une jointure peut être effectuée sur les tables des employés et des responsables pour afficher les employés qui sont également des managers. La requête suivante affiche les employés qui sont des managers:

SELECT * FROM Employé 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". Puisque l'opérateur '=' est utilisé, il est appelé une équi-jointure.

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é, directeur FROM Employé 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 connu sous le nom de jointure croisée (parfois appelée produit cartésien), qui est la forme la plus simple de jointure. É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 tous les enregistrements d'une table et les enregistrements correspondants de l'autre table en sortie. 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 gauche - même si elles ne satisfont pas aux conditions de correspondance - et les lignes correspondantes de la table 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.