Maison > base de données > tutoriel mysql > CROSS JOIN vs INNER JOIN : quand utiliser quelle jointure SQL ?

CROSS JOIN vs INNER JOIN : quand utiliser quelle jointure SQL ?

DDD
Libérer: 2025-01-22 10:21:10
original
422 Les gens l'ont consulté

CROSS JOIN vs. INNER JOIN: When to Use Which SQL Join?

CROSS JOIN et INNER JOIN en SQL

Comprendre CROSS JOIN

CROSS JOIN, également connu sous le nom de produit cartésien, récupère toutes les combinaisons possibles de lignes de deux ou plusieurs tables. Il ne filtre pas les lignes en fonction de critères spécifiques, il multiplie simplement le nombre de lignes dans chaque table. Par exemple, si une table comporte 5 lignes et une autre table 3 lignes, leur CROSS JOIN renverra un ensemble de résultats de 15 lignes.

Exemple :

Considérez la forme suivante :

<code>Customers:
CustomerID | Age | Gender
--------- | --- | -------
C0        | 25   | Male
C1        | 30   | Female

Movies:
MovieID   | MovieName
-------   | ---------
M0        | Batman
M1        | Superman</code>
Copier après la connexion

Une CROSS JOIN entre les tables Customers et Movies produira l'ensemble de résultats suivant :

CustomerID Age Gender MovieID MovieName
C0 25 Male M0 Batman
C0 25 Male M1 Superman
C1 30 Female M0 Batman
C1 30 Female M1 Superman

Comprendre INNER JOIN

INNER JOIN, également connu sous le nom d'équijointure, filtre les lignes de deux tables en fonction de conditions d'équivalence spécifiées. Il correspond aux lignes qui ont la même valeur dans la colonne jointe. Par exemple, une INNER JOIN des tables Customers et Movies basée sur la colonne CustomerID renvoie uniquement les lignes où le CustomerID correspond dans les deux tables.

Exemple :

En considérant le même tableau que précédemment, un INNER JOIN basé sur CustomerID produira l'ensemble de résultats suivant :

CustomerID Age Gender MovieID MovieName
C0 25 Male M0 Batman

Sélectionnez CROSS JOIN et INNER JOIN

Le choix entre CROSS JOIN et INNER JOIN dépend du résultat souhaité.

  • Utilisez CROSS JOIN ​​​​​​lorsque vous souhaitez récupérer toutes les combinaisons possibles de lignes de plusieurs tables, quelles que soient les conditions de filtrage.
  • Utilisez INNER JOIN ​​​​lorsque vous souhaitez filtrer les lignes en fonction d'une condition d'égalité spécifique et récupérer uniquement les lignes correspondantes des deux tables.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal