SELECT
c.id_cliente AS id_cliente
, c.Nome AS nome
, t.Telefone AS telefone
FROM tabelaclientes AS c
LEFT JOIN tabelatelefones AS t ON c.id_cliente = t.id_cliente
;
SELECT
c.id_cliente AS id_cliente
, c.Nome AS nome
, t.Telefone AS telefone
FROM tabelaclientes AS c
LEFT JOIN tabelatelefones AS t ON c.id_cliente = t.id_cliente
;
Oi, Carlos!
Parabéns por concluir o exercício Mapeamento de clientes e seus telefones. Sua consulta SQL ficou excelente, aplicando os conceitos de apelidos (aliases) e junção de tabelas com muita clareza e organização.
O grande trunfo da sua solução foi a escolha do LEFT JOIN. No desenho de bancos de dados relacionais, nem sempre todos os clientes cadastrados vão possuir um telefone associado no mesmo instante. Se você tivesse optado por um INNER JOIN, o banco de dados filtraria e ocultaria do relatório final os clientes Roberto Lima e Paula Mendes. O uso do LEFT JOIN preserva a integridade da sua tabela da esquerda (tabelaclientes), garantindo a listagem completa dos usuários e preenchendo com NULL as lacunas onde não há correspondência, o que é perfeito para relatórios cadastrais.
Na sua visão, analisar esse resultado final com campos nulos ajuda a identificar de forma rápida quais clientes precisam passar por uma campanha de atualização cadastral de contato?