MySQL CROSS JOIN
La clause CROSS JOIN renvoie le produit cartésien des deux tables. Produit cartésien signifie le nombre de lignes présentes dans la table 1 multiplié par le nombre de lignes présentes dans la table 2.
La syntaxe suivante de la clause CROSS JOIN, joint deux tables table1 et table2:
SELECT * FROM table1 CROSS JOIN table2;
Contrairement aux clauses INNER JOIN, LEFT JOIN et RIGHT JOIN, la clause CROSS JOIN n’a pas de prédicat de jointure. En d’autres termes, il n’a pas la clause ON ou USING.
Si vous ajoutez une clause WHERE, dans le cas où les tables table1 et table2 ont une relation, CROSS JOIN fonctionne comme la clause INNER JOIN, comme indiqué dans la requête suivante:
SELECT * FROM table1 CROSS JOIN table2 WHERE table1.id = table2.id;
Exemple:
Prenons un exemples d’utilisation de la clause CROSS JOIN pour voir comment elle fonctionne. Pour cela nous allons utiliser les tables « Client » et « Contact ».
La requête suivante affichera toutes les colonnes présentes dans les tables « Client » et « Contact ».
SELECT * FROM Client CROSS JOIN Contact;