SQL: tiene cláusula

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;