14th May 2024 Lectura de 6 minutos La Función SQL MIN() Jill Thornhill aprender SQL princípios básicos de SQL Índice Datos de muestra Ejemplos Simples de la Función SQL MIN() Ejemplo 1: Función MIN() simple Ejemplo 2: Uso de MIN() con otras funciones agregadas Ejemplo 3: Uso de MIN() con una expresión aritmética Ejemplos no estándar de la función MIN() Ejemplo 4: Uso de MIN() en columnas de fecha/hora Ejemplo 5: Uso de la función SQL MIN() en columnas de texto Uso de la función SQL MIN() con GROUP BY Uso de la Función MIN() en HAVING ¿Afectan los valores nulos a la función MIN()? Avanzando con la función MIN() de SQL SQL dispone de una gran variedad de potentes herramientas de agregación, incluida la función MIN() de SQL. Este artículo es una guía de referencia rápida para extraer y utilizar valores mínimos en sus consultas. En el competitivo entorno empresarial actual, es vital poder analizar los datos de su organización de forma eficaz para tomar decisiones informadas. Las funciones de agregación de SQL permiten realizar todo tipo de análisis estadísticos de los datos. Este artículo es una guía de referencia sobre la función SQL MIN(), que extrae el elemento más pequeño de una columna de datos. Si eres nuevo en SQL, puede que te interese nuestro curso interactivo SQL para principiantes. Empezando por el nivel principiante, llegará a dominar las funciones más útiles de SQL. Aprenderá los conceptos de las bases de datos relacionales, cómo extraer datos y cómo analizarlos utilizando agrupaciones y agregados. Se conectará a una base de datos a través de su navegador para practicar sus nuevos conocimientos con 129 ejercicios interactivos. El curso dura unas 10 horas. Ahora, volvamos a la función MIN(). Empezaremos por ver el conjunto de datos. Datos de muestra Todos los ejemplos de este artículo utilizan los datos que se muestran a continuación, que son un subconjunto de la base de datos de empleados de ejemplo de MySQL. Los datos se guardan en una tabla llamada 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 Ejemplos Simples de la Función SQL MIN() Ejemplo 1: Función MIN() simple La función MIN() extrae el valor mínimo de una columna. En su forma más simple, podría utilizar la consulta siguiente para responder a la pregunta: ¿Cuánto gana anualmente el empleado peor pagado? SELECT MIN(salary) FROM employee_data; Los resultados son los siguientes: min(salary) 52668 Tenga en cuenta que la función MIN(), como todos los demás agregados de SQL, siempre va seguida del nombre de una columna entre paréntesis. En este ejemplo, SQL busca en toda la tabla y extrae el valor más bajo de la columna nombrada. Ejemplo 2: Uso de MIN() con otras funciones agregadas Por supuesto, puede incluir otras funciones de agregación en sus resultados, como en este ejemplo: SELECT MIN(salary), MAX(salary), AVG(salary) FROM employee_data; Los resultados tendrían este aspecto: min(salary)max(salary)avg(salary) 526687793564668.143 Para ver más ejemplos, lea Explicación de las funciones SQL MIN() y MAX() en 6 ejemplos. Ejemplo 3: Uso de MIN() con una expresión aritmética También puede utilizar expresiones aritméticas con la función MIN(). Si desea ver el salario mínimo mensual en lugar del salario mínimo anual, su consulta sería: SELECT MIN(salary/12) AS min_monthly_salary FROM employee_data; El resultado de esta consulta es: min_monthly_salary 4389 Ejemplos no estándar de la función MIN() Ejemplo 4: Uso de MIN() en columnas de fecha/hora La función MIN() funciona igualmente bien con datos no numéricos. Puede utilizarse con tipos de datos de fecha y hora para extraer la fecha u hora más temprana. Si desea encontrar la fecha de nacimiento del empleado más joven de la empresa, la consulta sería la siguiente: SELECT MIN(birth_date) FROM employee_data; Esto da los siguientes resultados: min(birth_date) 20/4/1973 Ejemplo 5: Uso de la función SQL MIN() en columnas de texto Para tipos de datos de cadena de caracteres como CHAR, VARCHAR y TEXT, la función SQL MIN() extrae el primer valor en orden alfabético de la columna. Si desea encontrar el primer nombre de departamento por orden alfabético en la tabla employee_data tabla, la consulta sería: SELECT MIN(dept_name) FROM employee_data Estos son los resultados: min(dept_name) Development Observará que aunque varios empleados pertenecen al departamento de Desarrollo, el nombre del departamento sólo aparece una vez en los resultados. Uso de la función SQL MIN() con GROUP BY La función MIN(), como todas las funciones agregadas de SQL, puede utilizarse junto con la cláusula GROUP BY. Esta cláusula le indica a SQL que agrupe filas similares y genere una única fila para cada grupo. Por ejemplo, si agrupa los datos de muestra por departamento, el conjunto de resultados contendrá una fila por cada departamento. Si aún no está familiarizado con la cláusula GROUP BY y cómo utilizarla, estos 5 Ejemplos de GROUP BY pueden ayudarle. Cuando se utiliza la función MIN() junto con la cláusula GROUP BY, se ve el valor mínimo de cada grupo. Por ejemplo, si quisieras ver el salario más bajo de cada departamento, tu consulta se vería así: SELECT dept_name, MIN(salary) FROM employee_data GROUP BY dept_name; Los resultados de la consulta serían los siguientes: dept_nameMIN(salary) Sales72527 Production74057 Development52668 También puede utilizar la cláusula ORDER BY. Si desea que los resultados aparezcan por orden de salario mínimo, la consulta sería: SELECT dept_name, MIN(salary) FROM employee_data GROUP BY dept_name ORDER BY MIN(salary); El conjunto de resultados aparecerá en orden de salario mínimo, de menor a mayor: dept_nameMIN(salary) Development52668 Sales72527 Production74057 Si crees que necesitas algo de práctica con la agrupación de datos en SQL, encontrarás algunos ejercicios útiles en 10 GROUP BY Ejercicio de SQL Ejercicios con Soluciones. Uso de la Función MIN() en HAVING Puede utilizar funciones de agregación para filtrar el conjunto de resultados. Normalmente, los criterios de selección se definen utilizando una cláusula WHERE, pero no se puede utilizar WHERE para filtrar por un agregado. En su lugar, debe utilizar la cláusula HAVING. Para encontrar todos los departamentos en los que el salario mínimo anual es superior a 60k, su consulta sería: SELECT dept_name, MIN(salary) FROM employee_data GROUP BY dept_name HAVING MIN(salary) > 60000 ORDER BY MIN(salary); Observe que la cláusula HAVING debe utilizarse con la cláusula GROUP BY y que se coloca después de GROUP BY pero antes de ORDER BY. Los resultados son: dept_nameMIN(salary) Sales72527 Production74057 ¿Afectan los valores nulos a la función MIN()? La función SQL MIN() ignora cualquier fila que tenga un valor nulo cuando calcula el mínimo. Por lo tanto, el valor devuelto es el valor no nulo más bajo de la columna especificada. En los datos de muestra, sólo dos filas tienen valores en la fecha de finalización. En todas las demás filas, esta columna tiene valor NULL. Si buscó la fecha de finalización mínima, debería obtener el valor no nulo más bajo. Vamos a probarlo: SELECT MIN(term_date) FROM employee_data; Esto devuelve la fecha más pequeña, ignorando los valores nulos: MIN(term_date) 31/12/2020 La única vez que la función MIN() devolvería un NULL sería si todos los valores de la columna fueran NULL. Avanzando con la función MIN() de SQL Hemos explorado los usos de MIN(), pero su viaje de aprendizaje no ha hecho más que empezar; ¡hay mucho más por descubrir! Para obtener una guía rápida sobre el uso de la función SQL MIN(), consulte estos dos libros de recetas: Cómo Encontrar el Valor Mínimo de una Columna Encontrar Filas con el Valor Mínimo No hay nada como la resolución práctica de problemas para aprender bien cualquier tema. Nuestro tema Ejercicio de SQL te plantea una serie de retos similares a los que te encontrarás en el mundo real, con ayuda siempre disponible si te atascas. Por último, LearnSQL.es cuenta con una amplia gama de cursos diseñados para ayudarte en cada etapa de tu aprendizaje. Si quieres convertirte en un experto en SQL, te recomiendo nuestro curso SQL de la A a la Z. Este curso consta de 7 cursos interactivos que te ayudarán a aprender SQL. Esta ruta consta de 7 cursos interactivos que le llevarán desde las funciones para principiantes hasta las avanzadas. Dé el siguiente paso e impulse su carrera convirtiéndose en un experto en SQL. Tags: aprender SQL princípios básicos de SQL