Leçon 2 / 9 — Chapitre 2: Jointures avancées et combinées
CROSS JOIN : le produit cartésien
CROSS JOIN associe chaque ligne d'une table avec chaque ligne d'une autre, sans aucune condition ON — un produit cartésien. Le nombre de lignes obtenu est toujours le nombre de lignes de la première table multiplié par celui de la seconde.
Voici une table entrepots :
entrepots
id | nom
1 | Nord
2 | Sud
SELECT p.nom, e.nom AS entrepot
FROM produits p
CROSS JOIN entrepots e;
Cette requête génère une ligne pour chaque combinaison possible d'un produit et d'un entrepôt — utile, par exemple, pour préparer une ligne d'inventaire par produit et par entrepôt, même avant qu'aucun stock n'y soit réellement affecté. produits a 6 lignes, entrepots en a 2 : le résultat en compte 6 × 2 = 12.
Contrairement aux autres jointures, CROSS JOIN ne prend jamais de clause ON — il n'y a rien à faire correspondre, puisque toutes les combinaisons sont gardées.
À retenir :
CROSS JOINassocie chaque ligne d'une table à chaque ligne d'une autre, sans condition.- Le nombre de lignes du résultat vaut toujours (nombre de lignes table 1) × (nombre de lignes table 2).
CROSS JOINne s'écrit jamais avecON— c'est ce qui le distingue visuellement des autres jointures.
À vous de jouer : si entrepots comptait 3 lignes au lieu de 2, combien de lignes retournerait produits CROSS JOIN entrepots ?
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 80 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès