🧚 Écoute ! Beekeeper Studio est une interface de base de données rapide, moderne et open source Télécharger
7 mai 2025 Par Matthew Rathbone

Un CROSS JOIN dans PostgreSQL combine chaque ligne d’une table avec chaque ligne d’une autre table, ce qui crée un produit cartésien. C’est pratique pour générer des combinaisons, créer des données de test ou associer les éléments de deux jeux de données.

🔖 Référence rapide : besoin de retrouver vite tous les types de JOIN ? Jette un œil à notre aide-mémoire SQL JOIN avec des schémas visuels et des exemples de code.

Visualisation du Cross Join

Syntaxe de base

SELECT column1, column2
FROM table1
CROSS JOIN table2;

Tu peux aussi utiliser la syntaxe implicite :

SELECT column1, column2
FROM table1, table2;

Exemple : combinaisons de produits et de couleurs

Prenons deux tables simples, products et colors, pour montrer comment fonctionne un CROSS JOIN.

Table products :

product_id product_name
1 T-shirt
2 Jean

Table colors :

color_id color_name
1 Rouge
2 Bleu

Pour générer toutes les combinaisons possibles de produits et de couleurs :

SELECT product_name, color_name
FROM products
CROSS JOIN colors;

Résultat attendu :

product_name color_name
T-shirt Rouge
T-shirt Bleu
Jean Rouge
Jean Bleu

Le CROSS JOIN combine chaque produit avec chaque couleur, soit au total 2 produits × 2 couleurs = 4 combinaisons.

Cas d’usage courants

Générer toutes les combinaisons : crée des variantes de produits en combinant tailles et couleurs :

SELECT size, color
FROM sizes CROSS JOIN colors;

Créer des données de test : génère des données d’exemple en combinant différents paramètres :

SELECT strategy, scenario
FROM strategies CROSS JOIN scenarios;

Modèles de rapports : crée des lignes vides pour toutes les combinaisons possibles dans tes rapports.

Points importants

Performance: CROSS JOIN can generate very large result sets. A table with 1,000 rows crossed with another 1,000-row table produces 1,000,000 rows.

Filtrage : utilise des clauses WHERE pour limiter les résultats :

SELECT product_name, color_name
FROM products CROSS JOIN colors
WHERE product_name = 'T-Shirt';

Conclusion

Le CROSS JOIN est utile pour générer des combinaisons et des données de test, mais utilise-le avec prudence sur de grandes tables pour éviter les problèmes de performances. Pense toujours à la taille de ton jeu de résultats avant de lancer la requête.

Beekeeper Studio est une interface de base de données gratuite & open source

Le meilleur outil de requêtes & éditeur SQL que j’aie jamais utilisé. Il m’offre tout ce dont j’ai besoin pour gérer ma base de données. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio est rapide, intuitif et facile à utiliser. Beekeeper prend en charge plein de bases de données et fonctionne parfaitement sous Windows, Mac et Linux.

La version Linux de Beekeeper est 100% complète : rien de bâclé, aucun compromis sur les fonctionnalités.

Ce que les utilisateurs disent de Beekeeper Studio

★★★★★
« Beekeeper Studio a complètement remplacé mon ancien workflow SQL. C’est rapide, intuitif, et ça rend le travail sur les bases de données à nouveau agréable. »
— Alex K., développeur de bases de données
★★★★★
« J’ai essayé beaucoup d’interfaces de bases de données, mais Beekeeper trouve l’équilibre parfait entre fonctionnalités et simplicité. Ça marche, tout simplement. »
— Sarah M., ingénieure Full Stack