E ai galerinha, tudo bem com vocês?
Como anda essa vida de SQL MANIAC?
Estive um pouco ausente, mas agora estou de volta com a corda toda e para começar postarei a resposta do DESAFIO DO GORDO – ESPECIAL COPA DO MUNDO.
Antes de mais nada quero agradecer novamente a participação e o interesse de todos.
Mais uma vez o desafio foi um sucesso e muitos acertaram a resposta.
Para resolver esse desafio teremos de utilizar um dos comandos T-SQL que possibilitam relacionar nossas tabelas.
O comando utilizado é o CROSS JOIN, pois temos de fazer com que cada registro da tabela de Equipe seja relacionado entre si.
Esse comportamento é chamado de PRODUTO CARTESIANO.
O comamdo T-SQL que resolve o Desafio é o seguinte:
SELECT
G1.EQUIPE, G2.EQUIPE
FROM
GRUPO_G AS G1
CROSS JOIN
GRUPO_G AS G2
WHERE
G1.EQUIPE <> G2.EQUIPE
Como podemos ver, utiliza-se o comando CROSS JOIN para relacionar a tabela Equipe com ela mesma, no que chamado de Auto Relacionamento ou Self-Join.
Na tabela Equipe temos todos os times e queremos relacionar todos contra todos, mas por acaso o Brasil poderia jogar contra o Brasil?
Como não queremos esse comportamento, pedimos que o relacionamento seja feito entre todos os registros, menos entre os registros de mesmo nome.
Espero que tenham gostado.
Grande abraço a todos.
Vitor Fava.