Sobes.tech
Junior — Middle

Explique as diferenças entre as operações de junção LEFT JOIN, RIGHT JOIN e INNER JOIN em SQL.

sobes.tech IA

Resposta da IA

Nas operações SQL, JOINs são usados para combinar linhas de duas tabelas com base em uma coluna relacionada.

  • INNER JOIN retorna apenas as linhas que têm correspondências em ambas as tabelas.

  • LEFT JOIN (ou LEFT OUTER JOIN) retorna todas as linhas da tabela da esquerda e as linhas correspondentes da tabela da direita. Se não houver correspondência na tabela da direita, os campos dessa tabela serão NULL.

  • RIGHT JOIN (ou RIGHT OUTER JOIN) retorna todas as linhas da tabela da direita e as correspondentes da esquerda. Se não houver correspondência na tabela da esquerda, os campos dessa tabela serão NULL.

Exemplo:

SELECT A.id, B.value
FROM A
LEFT JOIN B ON A.id = B.a_id;

Esta consulta retornará todos os registros da tabela A, e apenas os correspondentes de B. Se para um registro de A não houver correspondência em B, os campos de B serão NULL.

Assim:

  • INNER JOIN — interseção das tabelas pela condição.
  • LEFT JOIN — tudo da esquerda + correspondências à direita.
  • RIGHT JOIN — tudo da direita + correspondências à esquerda.