Articles

SQL LEFT JOIN (Français)

résumé: dans ce tutoriel, nous allons vous présenter un autre type de jointures appelé SQL LEFT JOIN qui vous permet de récupérer des données à partir de plusieurs tables.

introduction à la clause SQL LEFT JOIN

dans le tutoriel précédent, vous avez appris la jointure interne qui renvoie des lignes s’il y a, au moins, une ligne dans les deux tables qui correspond à la condition de jointure. La clause INNER join élimine les lignes qui ne correspondent pas à une ligne de l’autre table.,

La jointure gauche, cependant, renvoie toutes les lignes de la table de gauche s’il existe ou non une ligne correspondante dans la table de droite.

supposons que nous ayons deux tables A et B. La table A a quatre lignes 1, 2, 3 et 4. Le tableau B comporte également quatre rangées 3, 4, 5, 6.

lorsque nous joignons la table A à la table B, Toutes les lignes de la table A (la table de gauche) sont incluses dans le jeu de résultats, qu’il y ait une ligne correspondante dans la table B ou non.

En SQL, utilisez la syntaxe suivante pour table de jointure avec la table B.,

la clause LEFT JOIN apparaît après la clause FROM. La condition qui suit le mot-clé s’appelle la condition de jointure B.n = A.n

SQL LEFT JOIN exemples

SQL GAUCHE JOINDRE deux tables exemples

prenons un coup d’oeil à la balise countries et locations tables.

Chaque emplacement appartient à un et un seul pays, alors que chaque pays peut avoir zéro, un ou plusieurs emplacements., La relation entre les tableaux pays et lieux est un à plusieurs.

la colonne country_id de la table locations est la clé étrangère qui relie la colonne country_id de la table countries.

pour interroger les noms de pays des États-Unis, du Royaume-Uni et de la Chine, vous utilisez la déclaration suivante.,0bc »>

Voir

La requête suivante extrait les emplacements situés aux états-unis, royaume-UNI et de la Chine:

Voir

Maintenant, nous utilisons la GAUCHE de la clause de JOINTURE pour rejoindre le pays de table avec les emplacements de la table de la requête suivante:

Voir

La condition de la clause where est appliqué de sorte que la seule déclaration récupère les données des états-unis, royaume-UNI et la Chine, et les lignes.,

étant donné que nous utilisons la clause LEFT JOIN, toutes les lignes qui satisfont à la condition de la clause WHERE de la table countries sont incluses dans le jeu de résultats.

pour chaque ligne de la table countries, la clause LEFT JOIN trouve les lignes correspondantes dans la table locations.

Si au moins une ligne correspondante trouvée, le moteur de base de données combine les données des colonnes des lignes correspondantes dans les deux tables.

dans le cas où aucune ligne correspondante n’est trouvée, par exemple avec country_id CN, la ligne de la table countries est incluse dans le jeu de résultats et la ligne de la table locations est remplie de valeurs NULL.,

étant donné que les lignes qui ne correspondent pas dans la table de droite sont remplies avec les valeurs NULL, vous pouvez appliquer la clause LEFT JOIN aux lignes miss-match entre les tables.

par exemple, Pour trouver les pays qui n’ont pas toutes les endroits dans le lieux de table, vous utilisez la requête suivante:

Voir

SQL LEFT JOIN 3 tables exemple

Voir les tableaux suivants: les régions, les pays et les lieux.,

Une région peut avoir zéro ou plusieurs pays, tandis que chaque pays est situé dans une région. Les tableaux des relations entre pays et régions sont un à plusieurs. La colonne region_id de la table des pays est le lien entre la table des pays et des régions.,

la déclaration suivante montre comment joindre 3 tables: régions, pays et emplacements:

Voir en action

Maintenant, vous devriez avoir une bonne compréhension du fonctionnement de la clause SQL LEFT JOIN et savoir la clause LEFT JOIN pour interroger les données de plusieurs tables.

  • ce tutoriel a Été utile ?
  • Ouinon