SQL Server: cláusula HAVING

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 Server: cláusula HAVING

Este tutorial de SQL Server describe cómo usar Cláusula HAVING Sintaxis y ejemplos en SQL Server (Transact-SQL).

describir

La cláusula HAVING de SQL Server (Transact-SQL) 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 Server (Transact-SQL) es:

SELECT expression1, expression2, ... expression_n, 
       aggregate_function (expression)
FROM tables
[WHERE conditions]
GROUP BY expression1, expression2, ... expression_n
HAVING having_condition;

parámetro o parámetro

La función agregada puede ser una función como SUM, COUNT, MIN, MAX o AVG. 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. La condición WHERE es opcional. Estos son los criterios para la selección de registros. HAVING tener_condición 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 HAVING de SQL Server que utiliza la función SUM.

Por ejemplo:

SELECT department, SUM(quantity) AS "Total Quantity"
FROM products
GROUP BY department
HAVING SUM(quantity) > 100;

Este ejemplo de cláusula HAVING utiliza la función SUM para devolver el nombre del departamento y la cantidad total (en el departamento correspondiente). La cláusula HAVING de SQL Server filtrará los resultados para que solo se devuelvan los departamentos con un número total superior a 100.

Ejemplo: uso de la función CONTAR

Veamos cómo usar la cláusula HAVING con la función COUNT.

Por ejemplo:

SELECT city, COUNT(*) AS "Number of employees"
FROM employees
WHERE state="California"
GROUP BY city
HAVING COUNT(*) > 20;

Este ejemplo de cláusula HAVING usa la función COUNT para devolver la ciudad y la cantidad de empleados en el estado “California” que viven en esa ciudad. La cláusula HAVING de SQL Server filtrará los resultados para que solo se devuelvan las ciudades de California con más de 20 empleados.

Ejemplo: uso de la función MIN

A continuación, veamos cómo usar la cláusula HAVING con la función MIN.

Por ejemplo:

SELECT department, MIN(salary) AS "Lowest salary"
FROM employees
GROUP BY department
HAVING MIN(salary) >= 50000;

Este ejemplo de HAVING usa la función MIN para devolver el nombre de cada departamento y el salario mínimo en ese departamento. La cláusula HAVING de SQL Server solo devolverá departamentos con un salario mínimo mayor o igual a $50,000.

Ejemplo: uso de la función MAX

Finalmente, veamos cómo usar la cláusula HAVING con la función MAX.

Por ejemplo:

SELECT last_name, MAX(salary) AS "Highest salary"
FROM employees
GROUP BY last_name
HAVING MAX(salary) > 34000;

Este ejemplo de cláusula HAVING usa la función MAX para devolver el apellido del empleado y el salario máximo para ese valor de apellido. La cláusula HAVING de SQL Server devolverá solo aquellos valores last_name con un salario máximo mayor a $34,000.

(Visited 15 times, 1 visits today)