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>
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é.
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!