Jointure croisée (CROSS JOIN) et jointure interne (INNER JOIN) en SQL : comparaison complète
SQL propose deux types de connexion distincts : CROSS JOIN et INNER JOIN, chaque type de connexion a ses propres scénarios d'application. Cet article examine en profondeur les différences entre ces deux types de connectivité, en soulignant leurs avantages et leurs cas d'utilisation.
CROSS JOIN : produit cartésien
Une jointure croisée, également connue sous le nom de produit cartésien, combine chaque ligne du premier tableau avec chaque ligne du deuxième tableau. Cela générera une nouvelle table contenant toutes les combinaisons possibles de lignes de la table jointe.
Grammaire :
<code class="language-sql">SELECT * FROM Table1 CROSS JOIN Table2</code>
Exemple :
Considérons une jointure croisée entre la table 'Clients' et la table 'Films' :
<code class="language-sql">SELECT Movies.CustomerID, Movies.Movie, Customers.Age, Customers.Gender, Customers.[Education Level], Customers.[Internet Connection], Customers.[Marital Status], FROM Customers CROSS JOIN Movies</code>
Cette requête renverra toutes les paires possibles de client et de film, ce qui entraînera un grand nombre de lignes.
INNER JOIN : Limiter les résultats
La jointure interne renvoie uniquement les lignes qui satisfont aux conditions spécifiées dans la clause ON
. Il sélectionne uniquement les lignes des deux tableaux dont les valeurs correspondent.
Grammaire :
<code class="language-sql">SELECT * FROM Table1 INNER JOIN Table2 ON Table1.Column = Table2.Column</code>
Exemple :
En utilisant la même table que précédemment, créons une jointure interne en utilisant la colonne CustomerID
:
<code class="language-sql">SELECT Movies.CustomerID, Movies.Movie, Customers.Age, Customers.Gender, Customers.[Education Level], Customers.[Internet Connection], Customers.[Marital Status] FROM Customers INNER JOIN Movies ON Customers.CustomerID = Movies.CustomerID</code>
Cette requête ne renverra que CustomerID
lignes correspondantes de la table « Clients » et de la table « Films », fournissant des résultats plus pertinents et filtrés.
Sélectionnez le type de connexion
Le choix des jointures croisées et des jointures internes dépend des exigences spécifiques de la requête.
Généralement, il est recommandé d'utiliser des jointures internes en raison de leur plus grande efficacité et de leur capacité à filtrer les résultats, tandis que les jointures croisées sont utiles dans des scénarios spécifiques où un produit cartésien est requis.
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!