bom dia. Entendi que o cross join eh uma analisa combinatória, mas não ficou claro para mim quais seriam algumas aplicações de um CROSS JOIN. Alguém poderia me esclarecer, por gentileza? Obrigado.
bom dia. Entendi que o cross join eh uma analisa combinatória, mas não ficou claro para mim quais seriam algumas aplicações de um CROSS JOIN. Alguém poderia me esclarecer, por gentileza? Obrigado.
Olá Rogerio, tudo bem?
É isso mesmo o CROSS JOIN faz a junção de duas ou mais tabelas por cruzamento, nesse caso, para cada registro em uma tabela queremos todos os registros correspondentes em uma outra tabela.
Para esclarecer melhor, vamos para um exemplo um pouco mais real, pense o seguinte, numa aplicação que você utiliza, como um sistema de gestão escolar, melhor um sistema de gestão de uma instituição de ensino superior, podemos ter um professor cadastrado no sistema como professor, e também como coordenador de um dos cursos da instituição. Nesse cenário ele tem as duas responsabilidades correto? Se por algum motivo o diretor geral da instituição precisar de um relatório que mostre todos os funcionários e seu cargos, então poderíamos utilizar o CROSS JOIN, e o mesmo iria nos retornar o resultado com o dados no professor e dos seus cargos. Imagine que temos as seguintes tabelas, professores
, com os campos "ID", "NOME" e "CPF" e também temos a tabela ``cargos`, com os campos "ID", "CARGO" e "PROFESSOR_ID", poderíamos então realizar um CROSS JOIN, usando o campo "ID" da tabela de professor e o campo "professor_id" da tabela de cargos e o resultado (sem trazer os ID) seria o nome do professor, o CPF e seus cargos, e nesse cenário o nome do professor é "Marcos", podemos ter algo como:
| NOME | CPF | CARGO |
|---------- | ------------ | ------------------ |
| Marcos | 972.842.580-55 | PROFESSOR |
| Marcos | 972.842.580-55 | COORDENADOR |
Espero ter esclarecido sua dúvida!