🧚 Escute! O Beekeeper Studio é uma GUI de banco de dados rápida, moderna e open source Download
7 de maio de 2025 Por Matthew Rathbone

Um CROSS JOIN no PostgreSQL combina cada linha de uma tabela com cada linha de outra tabela, gerando um produto cartesiano. Isso é útil para gerar combinações, criar dados de teste ou parear elementos de dois conjuntos de dados.

🔖 Referência rápida: Precisa consultar rapidamente todos os tipos de JOIN? Confira nossa Cheat Sheet de SQL JOIN com diagramas visuais e exemplos de código.

Visualização do Cross Join

Sintaxe básica

SELECT column1, column2
FROM table1
CROSS JOIN table2;

Você também pode usar a sintaxe implícita:

SELECT column1, column2
FROM table1, table2;

Exemplo: combinações de produtos e cores

Vamos considerar duas tabelas simples, products e colors, para demonstrar como um CROSS JOIN funciona.

Tabela products:

product_id product_name
1 T-Shirt
2 Jeans

Tabela colors:

color_id color_name
1 Red
2 Blue

Para gerar todas as combinações possíveis de produtos e cores:

SELECT product_name, color_name
FROM products
CROSS JOIN colors;

Resultado esperado:

product_name color_name
T-Shirt Red
T-Shirt Blue
Jeans Red
Jeans Blue

O CROSS JOIN combina cada produto com cada cor, resultando em um total de 2 produtos × 2 cores = 4 combinações.

Casos de uso comuns

Gerar todas as combinações: crie variantes de produtos combinando tamanhos e cores:

SELECT size, color
FROM sizes CROSS JOIN colors;

Criar dados de teste: gere dados de exemplo para testes combinando diferentes parâmetros:

SELECT strategy, scenario
FROM strategies CROSS JOIN scenarios;

Modelos de relatório: crie linhas de espaço reservado para todas as combinações possíveis em relatórios.

Considerações importantes

Desempenho: o CROSS JOIN pode gerar conjuntos de resultados muito grandes. Uma tabela com 1.000 linhas cruzada com outra tabela de 1.000 linhas produz 1.000.000 de linhas.

Filtragem: use cláusulas WHERE para limitar os resultados:

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

Conclusão

O CROSS JOIN é útil para gerar combinações e dados de teste, mas use-o com cuidado em tabelas grandes para evitar problemas de desempenho. Sempre considere o tamanho do seu conjunto de resultados antes de executar a consulta.

Beekeeper Studio é um cliente de banco de dados gratuito e open source

A melhor ferramenta de consultas e edição de SQL que já usei. Tem tudo o que preciso para gerenciar meu banco de dados. - ⭐⭐⭐⭐⭐ Mit

O Beekeeper Studio é rápido, intuitivo e fácil de usar. Ele suporta vários bancos de dados e funciona muito bem no Windows, Mac e Linux.

A versão do Beekeeper para Linux tem 100% dos recursos, sem atalhos e sem concessões.

O que os usuários dizem sobre o Beekeeper Studio

★★★★★
"O Beekeeper Studio substituiu completamente meu antigo fluxo de trabalho com SQL. É rápido, intuitivo e torna o trabalho com bancos de dados agradável de novo."
— Alex K., Desenvolvedor de Banco de Dados
★★★★★
"Já testei várias GUIs de banco de dados, mas o Beekeeper encontra o equilíbrio perfeito entre recursos e simplicidade. Simplesmente funciona."
— Sarah M., Engenheira Full Stack

Pronto para melhorar seu fluxo de trabalho com SQL?

download Baixe grátis