1
resposta

Join resultando em um cross join

Boa noite! Gostaria de saber se fazer cross join é o mesmo que fazer join tabelax on 1=1?

1 resposta

Olá Bruna, tudo bem?

Não é a mesma coisa, pois o Join e o Cross Join, obtém resultados diferentes quando usados:

  • (INNER) JOIN retorna registros que são correspondentes em ambas as tabelas. Como neste exemplo que o instrutor utilizou, só foram retornados os alunos que estão matriculados em um curso e os cursos que existem alunos matriculados:

uso do join mostrado pelo instrutor

O aluno Diogo foi retornado pois está matriculado no curso de HTML e o curso HTML foi retornado pois existe o aluno Diogo matriculado.

  • CROSS JOIN retorna todos os registros de uma tabela relacionando com todos os registros da outra tabela. Como neste exemplo que o instrutor utilizou, todos os alunos foram relacionados com todos os cursos:

uso do cross join mostrado pelo instrutor

Espero ter esclarecido a sua dúvida, qualquer coisa é só falar e bons estudos!