Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
SQL: tiene cláusula
Este tutorial de SQL explica cómo usar SQL Cláusula HAVING Con sintaxis y ejemplos.
describir
La cláusula SQL HAVING se usa junto con la cláusula GROUP BY para limitar el grupo de filas devueltas a solo aquellas para las que la condición es VERDADERA.
sintaxis
La sintaxis de la cláusula HAVING en SQL es:
SELECT expression1, expression2, ... expression_n, aggregate_function (aggregate_expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n HAVING condition;
parámetro o parámetro
expresión1, expresión2, … expresión_n Expresiones que no están encapsuladas en funciones agregadas y deben incluirse en la cláusula GROUP BY cerca del final de la instrucción SQL. Función_agregada Esta es una función agregada como la función SUM, COUNT, MIN, MAX o AVG. Expresión agregada Esta es la columna o expresión para la que se usará la función agregada. tabla La tabla de la que desea recuperar registros. Debe aparecer al menos una tabla en la cláusula FROM. La condición WHERE es opcional. Estos son los criterios para la selección de registros. Condición HAVING Esta es una condición adicional que se aplica solo a los resultados agregados para limitar los grupos de filas devueltos. Solo los grupos para los que la condición se evalúa como VERDADERO se incluyen en el conjunto de resultados.
Ejemplo: uso de la función SUMA
Veamos un ejemplo de una cláusula SQL HAVING usando la función SQL SUM.
También puede usar la función SQL SUM para devolver el nombre del departamento y las ventas totales (en el departamento correspondiente). La cláusula SQL HAVING filtrará los resultados para que solo se devuelvan los departamentos con ventas superiores a $1000.
SELECT department, SUM(sales) AS "Total sales" FROM order_details GROUP BY department HAVING SUM(sales) > 1000;
Ejemplo: uso de la función CONTAR
Veamos cómo usar la cláusula HAVING con la función SQL COUNT.
Puede usar la función SQL COUNT para devolver el nombre del departamento y la cantidad de empleados (en el departamento correspondiente) que ganan más de $25,000 por año. La cláusula SQL HAVING filtrará los resultados para que solo se devuelvan los departamentos con más de 10 empleados.
SELECT department, COUNT(*) AS "Number of employees" FROM employees WHERE salary > 25000 GROUP BY department HAVING COUNT(*) > 10;
Ejemplo: uso de la función MIN
A continuación, veamos cómo usar la cláusula HAVING con la función SQL MIN.
También puede usar la función SQL MIN para devolver el nombre de cada departamento y el salario mínimo del departamento. La cláusula SQL HAVING solo devolverá departamentos con un salario mínimo mayor a $35,000.
SELECT department, MIN(salary) AS "Lowest salary" FROM employees GROUP BY department HAVING MIN(salary) > 35000;
Ejemplo: uso de la función MAX
Finalmente, veamos cómo usar la cláusula HAVING con la función SQL MAX.
Por ejemplo, también puede usar la función SQL MAX para devolver el nombre de cada departamento y el salario más alto para ese departamento. La cláusula SQL HAVING solo devolverá departamentos con un salario máximo inferior a $50,000.
SELECT department, MAX(salary) AS "Highest salary" FROM employees GROUP BY department HAVING MAX(salary) < 50000;