Middle
Qual é a diferença entre LEFT JOIN e INNER JOIN?
sobes.tech IA
Resposta da IA
INNER JOIN devolve apenas as linhas que têm valores correspondentes em ambas as tabelas. Se numa das tabelas não houver uma entrada correspondente, essa linha não aparecerá no resultado.
LEFT JOIN (ou LEFT OUTER JOIN) devolve todas as linhas da tabela da esquerda e as linhas correspondentes da direita. Se não houver correspondência na tabela da direita, as colunas dessa tabela terão NULL no resultado.
Exemplo:
SELECT A.id, B.value
FROM A
INNER JOIN B ON A.id = B.a_id;
-- Vai devolver apenas os ids de A que têm uma entrada correspondente em B
SELECT A.id, B.value
FROM A
LEFT JOIN B ON A.id = B.a_id;
-- Vai devolver todos os ids de A, e para aqueles sem correspondência em B, o valor será NULL