Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Cross Join no JSON Table

Confesso que não conseguir entender muito bem o pq é necessário o cross join. Gostaria de um explicação mais detalhada.

1 resposta
solução!

Olá Tiago, tudo bem?

Peço desculpas pela demora no retorno.

Necessariamente você não precisaria utilizar o CROSS JOIN nesta consulta Tiago, se você utilizar apenas JOIN o resultado será o mesmo. Como o instrutor mencionou, neste exemplo o JSON_TABLE é utilizado para criar uma nova tabela, a t2, extraindo os dados da tabela t1.

Mesmo você não utilizando apenas JOIN é feito o produto cartesiano, mas como é preciso realizar a junção das duas tabelas, o instrutor utiliza diretamente o CROSS JOIN.

SELECT * FROM t1
JOIN
JSON_TABLE (JSON_EXTRACT(`JSON`, "$.Cliente"), "$[*]"
COLUMNS (NOME VARCHAR(10) PATH "$.Nome", HOBBY VARCHAR(10) PATH "$.Hobby")) t2;

Está consulta retorna o produto cartesiano entre as duas tabelas t1 e t2, sem a utilização do CROSS JOIN.

Espero ter ajudado, qualquer nova dúvida é só falar e bons estudos!