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).