logo

Jointure externe gauche SQL vs jointure gauche

En SQL, LEFT JOIN et LEFT OUTER JOIN sont utilisés pour combiner les données de deux ou plusieurs tables basées sur une colonne associée, mais il s'agit essentiellement de la même opération et il n'y a aucune différence pratique entre elles. Le mot-clé OUTER est facultatif dans la plupart des systèmes de bases de données, y compris les plus populaires comme MySQL, PostgreSQL et SQL Server.

Joint gauche

Jointure gauche ou jointure externe gauche



Joint gauche

UN SQL opération qui combine deux tableaux, affichant toutes les lignes du tableau de gauche et les lignes correspondantes du tableau de droite. S'il n'y a aucune correspondance dans le tableau de droite, il affiche NUL valeurs.

Syntaxe

SELECT * FROM Tableau1

LEFT JOIN Table2 ON Table1.columnName = Table2.columnName ;



Jointure externe gauche

Une autre opération SQL conceptuellement identique à LEFT JOIN. Il combine également des tableaux, affichant toutes les lignes du tableau de gauche et les lignes correspondantes du tableau de droite. S'il n'y a aucune correspondance dans le tableau de droite, il affiche les valeurs NULL.

Syntaxe

SELECT * FROM Tableau1

LEFT OUTER JOIN Table2 ON Table1.columnName = Table2.columnName ;



LEFT JOIN et LEFT OUTER JOIN sont essentiellement la même chose en SQL. Ils combinent tous deux les données de deux tableaux, affichant toutes les lignes du tableau de gauche et les lignes correspondantes du tableau de droite. S'il n'y a pas de correspondance dans le tableau de droite, ils affichent des valeurs NULL. La seule différence est la terminologie : LEFT JOIN est utilisé dans certaines bases de données comme MySQL , tandis que LEFT OUTER JOIN est utilisé dans d'autres comme SQL Server. De manière plus approfondie, System.out.print() utilisé en Java, en même temps print utilisé en python mais les deux reflètent le même résultat. Il s’agit donc simplement de savoir quel terme votre système de base de données préfère, mais le résultat est identique.

barre d'outils d'accès rapide aux mots

Avant de plonger dans les exemples, créons les données nécessaires pour effectuer la jointure externe gauche et la jointure gauche.

Étape 1 : Créer une base de données

create database geeksforgeeks; use geeksforgeeks;>

Étape 2 : Créez une table nommée athlète

create table atheletes(Id int, Name varchar(20),  AtheleteNO int, primary key(Id) );>

Étape 3 : Insérer des valeurs dans le tableau athlète

INSERT INTO atheletes (Id, Name, AtheleteNO) VALUES (1, 'abisheik', 27); INSERT INTO atheletes (Id, Name, AtheleteNO) VALUES (2, 'Niyas', 27); INSERT INTO atheletes (Id, Name, AtheleteNO) VALUES (3, 'Joseph', 29); INSERT INTO atheletes (Id, Name, AtheleteNO) VALUES (4, 'Juan', 24);>

Étape 4 : Créez un tableau nommé Points

CREATE TABLE Points(ID INT, Score INT,AtheleteID INT,   PRIMARY KEY (ID) );>

Étape 5 : Insérer des valeurs dans le tableau Points

INSERT INTO Points (ID, Score, AtheleteID) VALUES (1, 270, 1); INSERT INTO Points (ID, Score, AtheleteID) VALUES (2, 297, 2); INSERT INTO Points (ID, Score, AtheleteID) VALUES (3, 210, 3); INSERT INTO Points (ID, Score, AtheleteID) VALUES (4, 180, 4);>

Maintenant, nous avons créé avec succès la table athelete et Points pour l’opération de jointure.

Exemple:

En utilisant la jointure externe gauche, la requête sera exécutée.

Requête

SELECT * FROM atheletes   LEFT OUTER JOIN Points ON  atheletes.ID = Points.AtheleteID;>

Sortir

Identifiant

Nom

Athlète NON

IDENTIFIANT

Score

ID d'athlète

1

Abishek

27

1

270

1

2

Nias

27

2

297

2

3

Joseph

29

3

210

scanner java suivant

3

4

Juan

24

4

180

4

Exemple:

En utilisant la jointure gauche, la requête sera exécutée.

Requête

SELECT * FROM atheletes   LEFT JOIN Points ON  atheletes.ID = Points.AtheleteID;>

Sortir

Identifiant

Nom

Athlète NON

IDENTIFIANT

Score

ID d'athlète

1

Abishek

27

chaîne comparable

1

270

1

2

Nias

27

2

297

2

3

Joseph

bfs et dfs

29

3

210

3

4

Juan

24

4

180

4

Conclusion

En SQL, LEFT JOIN et LEFT OUTER JOIN sont essentiellement la même opération, ne différant que par la terminologie. Les deux opérations combinent les données de deux tables, affichant toutes les lignes de la table de gauche et les lignes correspondantes de la table de droite tout en affichant les valeurs NULL pour les lignes non correspondantes. Quel que soit le terme utilisé dans votre système de base de données, le résultat reste identique.

FAQ sur la jointure gauche et la jointure externe gauche

Q.1 : Y a-t-il une différence de performances entre LEFT JOIN et LEFT OUTER JOIN ?

Répondre:

Non, il n'y a aucune différence de performances. Ces termes sont interchangeables et l'optimiseur de base de données les traite de la même manière.

Q.2 : Puis-je utiliser LEFT JOIN ou LEFT OUTER JOIN avec plus de deux tables ?

Répondre:

Oui, vous pouvez utiliser ces opérations de jointure avec plusieurs tables en étendant la syntaxe et en spécifiant les conditions de jointure pour chaque table.

Q.3 : Tous les systèmes de bases de données prennent-ils en charge à la fois LEFT JOIN et LEFT OUTER JOIN ?

Répondre:

Les systèmes de bases de données les plus largement utilisés, notamment MySQL, PostgreSQL et SQL Server, prennent en charge à la fois LEFT JOIN et LEFT OUTER JOIN. Cependant, il est essentiel de vérifier la compatibilité de la documentation spécifique de votre base de données.

Q.4 : Que se passe-t-il si j'utilise LEFT JOIN ou LEFT OUTER JOIN sans spécifier de condition de jointure ?

Répondre:

L'utilisation de ces opérations de jointure sans condition de jointure entraînera un produit cartésien, dans lequel chaque ligne de la table de gauche est combinée avec chaque ligne de la table de droite, conduisant potentiellement à un ensemble de résultats volumineux et inefficace.

Q.5 : Existe-t-il d'autres types de jointures SQL ?

Répondre:

Oui, SQL prend en charge différents types de jointures, notamment INNER JOIN, RIGHT JOIN, FULL OUTER JOIN et CROSS JOIN, chacune servant à des fins différentes en combinant les données de plusieurs tables.