Sobes.tech
Junior

Qual é a diferença entre LEFT JOIN e RIGHT JOIN?

sobes.tech IA

Resposta da IA

LEFT JOIN seleciona todas as linhas da tabela esquerda e as linhas correspondentes da direita. Se não houver correspondência na tabela direita, as colunas da tabela direita terão valores NULL.

RIGHT JOIN seleciona todas as linhas da tabela direita e as linhas correspondentes da esquerda. Se não houver correspondência na tabela esquerda, as colunas da tabela esquerda terão valores NULL.

Na prática, RIGHT JOIN é um espelho do LEFT JOIN. O resultado de RIGHT JOIN (tabela A JOIN tabela B) é idêntico ao resultado de LEFT JOIN (tabela B JOIN tabela A) com as colunas trocadas.

Exemplo SQL:

-- LEFT JOIN
SELECT *
FROM TabelaA
LEFT JOIN TabelaB ON TabelaA.id = TabelaB.id;

-- RIGHT JOIN
SELECT *
FROM TabelaA
RIGHT JOIN TabelaB ON TabelaA.id = TabelaB.id;

Visualização:

Tipo de JOIN Linhas incluídas da tabela esquerda Linhas incluídas da tabela direita
LEFT JOIN Todas Correspondentes (ou NULL)
RIGHT JOIN Correspondentes (ou NULL) Todas