14th May 2024 6 minutos de leitura A função SQL MIN() Jill Thornhill aprender sql noções básicas de sql Índice Dados de amostra Exemplos simples da função SQL MIN() Exemplo 1: Função MIN() simples Exemplo 2: uso de MIN() com outras funções de agregação Exemplo 3: uso de MIN() com uma expressão aritmética Exemplos não padronizados da função MIN() Exemplo 4: Uso de MIN() em colunas de data/data/hora Exemplo 5: uso da função SQL MIN() em colunas de texto Uso da função SQL MIN() com GROUP BY Uso da função MIN() em HAVING Os valores nulos afetam a função MIN()? Continuando com a função MIN() do SQL O SQL tem uma variedade de ferramentas de agregação poderosas, incluindo a funçãoSQL MIN(). Este artigo é um guia de referência rápida para extrair e usar valores mínimos em suas consultas. No atual ambiente de negócios acirrado, é fundamental poder analisar os dados de sua organização de forma eficaz para tomar decisões informadas. As funções agregadas do SQL permitem que você realize todos os tipos de análises estatísticas em seus dados. Este artigo é um guia de referência para a função SQL MIN(), que extrai o menor item de uma coluna de dados. Se você é iniciante em SQL, talvez tenha interesse em nosso curso interativo SQL para Iniciantes. A partir do nível iniciante, você se tornará proficiente nos recursos mais úteis do SQL. Você aprenderá os conceitos de bancos de dados relacionais, como extrair dados e como analisá-los usando agrupamentos e agregados. Você se conectará a um banco de dados por meio do navegador para praticar suas novas habilidades com 129 exercícios interativos. O curso leva cerca de 10 horas para ser concluído. Agora, vamos voltar à função MIN(). Começaremos examinando o conjunto de dados. Dados de amostra Todos os exemplos deste artigo usam os dados abaixo, que são um subconjunto do banco de dados de amostra de funcionários do MySQL. Os dados são mantidos em uma tabela chamada employee_data. emp_nobirth_datefirst_namelast_namesalarydept_nameterm_date 100021984-06-02BezalelSimmel72527Sales2022-05-31 100041974-05-01ChirstianKoblick74057Production 100061973-04-20AnnekePreusig60098Development 100081978-02-19SaniyaKalloufi52668Development 100121980-10-04PatricioBridgland54794Development 100141976-02-12BerniGenin60598Development 100161981-05-02KazuhitoCappelletti77935Sales2020-12-31 Exemplos simples da função SQL MIN() Exemplo 1: Função MIN() simples A função MIN() extrai o valor mínimo de uma coluna. Em sua forma mais simples, você poderia usar a consulta abaixo para responder à pergunta: Quanto o funcionário com o salário mais baixo ganha anualmente? SELECT MIN(salary) FROM employee_data; Isso gera os seguintes resultados: min(salary) 52668 Observe que a função MIN(), como todos os outros agregados SQL, é sempre seguida por um nome de coluna entre colchetes. Nesse exemplo, o SQL pesquisa em toda a tabela e extrai o valor mais baixo da coluna nomeada. Exemplo 2: uso de MIN() com outras funções de agregação É claro que você pode incluir outras funções agregadas em seus resultados, como esta: SELECT MIN(salary), MAX(salary), AVG(salary) FROM employee_data; Seus resultados teriam a seguinte aparência: min(salary)max(salary)avg(salary) 526687793564668.143 Para obter mais exemplos, leia Funções SQL MIN() e MAX() explicadas em 6 exemplos. Exemplo 3: uso de MIN() com uma expressão aritmética Você também pode usar expressões aritméticas com a função MIN(). Se você quisesse ver o salário mínimo mensal em vez do salário mínimo anual, sua consulta seria: SELECT MIN(salary/12) AS min_monthly_salary FROM employee_data; O resultado dessa consulta é: min_monthly_salary 4389 Exemplos não padronizados da função MIN() Exemplo 4: Uso de MIN() em colunas de data/data/hora A função MIN() funciona igualmente bem com dados não numéricos. Ela pode ser usada com tipos de dados de data e data e hora para extrair a primeira data ou hora. Se você quisesse encontrar a data de nascimento do funcionário mais jovem da empresa, sua consulta seria semelhante a esta: SELECT MIN(birth_date) FROM employee_data; Isso gera os seguintes resultados: min(birth_date) 20/4/1973 Exemplo 5: uso da função SQL MIN() em colunas de texto Para tipos de dados de cadeia de caracteres como CHAR, VARCHAR e TEXT, a função SQL MIN() extrai o primeiro valor em ordem alfabética da coluna. Se você quisesse encontrar o primeiro nome de departamento em ordem alfabética na tabela employee_data tabela, a consulta seria: SELECT MIN(dept_name) FROM employee_data Aqui estão os resultados: min(dept_name) Development Você perceberá que, embora vários funcionários pertençam ao departamento de Desenvolvimento, o nome do departamento aparece apenas uma vez nos resultados. Uso da função SQL MIN() com GROUP BY A função MIN(), como todas as funções de agregação do SQL, pode ser usada em conjunto com a cláusula GROUP BY. Essa cláusula informa ao SQL para agrupar linhas semelhantes e gerar uma única linha para cada grupo. Por exemplo, se você agrupasse os dados de amostra por departamento, o conjunto de resultados conteria uma linha para cada departamento. Se você ainda não está familiarizado com a cláusula GROUP BY e como usá-la, estes 5 exemplos de GROUP BY podem ajudá-lo. Quando você usa a função MIN() junto com a cláusula GROUP BY, você vê o valor mínimo em cada grupo. Por exemplo, se você quisesse ver o salário mais baixo em cada departamento, sua consulta seria semelhante a esta: SELECT dept_name, MIN(salary) FROM employee_data GROUP BY dept_name; Os resultados da consulta seriam os seguintes: dept_nameMIN(salary) Sales72527 Production74057 Development52668 Talvez você também queira usar a cláusula ORDER BY. Se você quisesse que os resultados estivessem em ordem de salário mínimo, sua consulta seria: SELECT dept_name, MIN(salary) FROM employee_data GROUP BY dept_name ORDER BY MIN(salary); O conjunto de resultados aparecerá na ordem do salário mínimo, do menor para o maior: dept_nameMIN(salary) Development52668 Sales72527 Production74057 Se achar que precisa praticar o agrupamento de dados em SQL, você encontrará alguns exercícios úteis em 10 GROUP BY Trilha de Práticas em SQL Exercises with Solutions. Uso da função MIN() em HAVING Você pode usar funções de agregação para filtrar o conjunto de resultados. Normalmente, os critérios de seleção são definidos por meio de uma cláusula WHERE, mas não é possível usar WHERE para filtrar por um agregado. Em vez disso, é necessário usar a cláusula HAVING. Para encontrar todos os departamentos em que o salário anual mínimo é maior que 60 mil, sua consulta seria: SELECT dept_name, MIN(salary) FROM employee_data GROUP BY dept_name HAVING MIN(salary) > 60000 ORDER BY MIN(salary); Observe que a cláusula HAVING deve ser usada com a cláusula GROUP BY e que ela é colocada após a cláusula GROUP BY, mas antes da cláusula ORDER BY. Os resultados são: dept_nameMIN(salary) Sales72527 Production74057 Os valores nulos afetam a função MIN()? A função SQL MIN() ignora todas as linhas que têm um valor nulo quando calcula o mínimo. O valor retornado é, portanto, o menor valor não nulo na coluna especificada. Nos dados de amostra, apenas duas linhas têm valores na data de término. Em todas as outras linhas, essa coluna é definida como NULL. Se você procurou a data de término mínima, deverá obter o menor valor não nulo. Vamos experimentar: SELECT MIN(term_date) FROM employee_data; Isso retorna a menor data, ignorando os valores nulos: MIN(term_date) 31/12/2020 A única vez que a função MIN() retornaria um NULL seria se todos os valores da coluna fossem NULL. Continuando com a função MIN() do SQL Exploramos os usos de MIN(), mas sua jornada de aprendizado está apenas começando; há muito mais a descobrir! Para obter um guia rápido sobre como usar a função SQL MIN(), consulte estes dois livros de receitas: How to Find the Minimum Value of a Column (Como encontrar o valor mínimo de uma coluna) Encontrar linhas com o valor mínimo Não há nada como a solução prática de problemas para aprender qualquer tópico muito bem. Nossa Trilha de Práticas em SQL apresenta uma série de desafios semelhantes aos que você encontrará no mundo real, com ajuda sempre disponível se você tiver dificuldades. Por fim, o site LearnSQL.com.br tem uma grande variedade de cursos criados para ajudá-lo em todas as etapas de sua jornada de aprendizado. Se você quer mesmo se tornar um especialista em SQL, recomendo nossa trilha de aprendizado SQL de A a Z. Essa trilha consiste em 7 cursos interativos que o levam do iniciante às funções avançadas. Dê o próximo passo e impulsione sua carreira tornando-se um especialista em SQL! Tags: aprender sql noções básicas de sql