SELECT
d.NomeDepartamento AS nome_departamento
, MAX(c.Salario) AS maior_salario
FROM tabeladepartamento AS d
LEFT JOIN tabelacolaboradores AS c ON d.id_departamento = c.id_departamento
WHERE 1=1
GROUP BY
d.NomeDepartamento
;
SELECT
d.NomeDepartamento AS nome_departamento
, MAX(c.Salario) AS maior_salario
FROM tabeladepartamento AS d
LEFT JOIN tabelacolaboradores AS c ON d.id_departamento = c.id_departamento
WHERE 1=1
GROUP BY
d.NomeDepartamento
;
Olá, Carlos Eduardo!
Meus parabéns por concluir esse exercício. É muito satisfatório ver uma query tão bem estruturada e organizada, demonstrando um domínio bom sobre a aplicação de funções de agregação e junções de tabelas em SQL.
Sua resolução mostra que você compreendeu perfeitamente a lógica de agrupamento necessária para extrair indicadores por categoria. Como Tech Lead e Engenheiro de Dados, você sabe que a clareza no código é fundamental, e o uso de aliases (AS) junto com a identação adequada torna a leitura da consulta muito mais simples para qualquer pessoa da equipe.
Conseguiu perceber como a escolha entre um INNER JOIN e um LEFT JOIN altera o resultado final se houver um departamento novo e vazio na empresa?