Sobes.tech
Junior — Middle

Pode explicar as diferenças entre uma junção interna e uma junção esquerda em SQL?

sobes.tech IA

Resposta da IA

Inner Join (INNER JOIN) devolve apenas as linhas que têm correspondências em ambas as tabelas de acordo com a condição de junção. Se numa das tabelas não houver uma entrada correspondente, essa linha não aparecerá no resultado.

Left Join (LEFT JOIN) devolve todas as linhas da tabela da esquerda e as linhas correspondentes da tabela da direita. Se não houver correspondência, os valores da tabela da direita serão NULL.

Exemplo:

SELECT a.id, a.name, b.order_id
FROM customers a
INNER JOIN orders b ON a.id = b.customer_id;

Irá retornar apenas os clientes que têm pedidos.

SELECT a.id, a.name, b.order_id
FROM customers a
LEFT JOIN orders b ON a.id = b.customer_id;

Irá retornar todos os clientes, incluindo aqueles sem pedidos (neste caso, order_id será NULL).