Saltar al contenido

Having en SQL con ejemplos

El having es una de las clausulas mas importantes que tiene sql en este articulo podrias ver el having aplicado con ejemplos puntuales para mejorar el analisis de tus datos. con este articulo podras aprender de las mas usadas de sql que existen.

Asi que deberias ver esta articulo y podrias aprender algo nuevo!

La función se utiliza para generar un filtro a partir de las funciones SQL del aritmeticas de como son SUM, MAX, MIN, AVG.

Where vs Having

Como la cláusula WHERE no se utilizar con funciones SQL del tipo aritemtica por lo tanto utilizamos, HAVING. La diferencia entre la cláusula HAVING y la cláusula WHERE es que la cláusula WHERE es utilizada para filtrar registros, y la cláusula HAVING se usa para filtrar grupos de registros definidos en la la clausula group by .

Sintaxis del HAVING de SQL

  1. SELECT     columna1, columna2, function(columna3)
  2. FROM    Tablaejemplo
  3. GROUP BY columna1, columna2
  4. HAVING criterio

para los fines de uso esta sentencia no utiliza valores alfanuméricos como es el caso del WHERE. ademas es importante recordar que no se puede utilizar HAVING en un consulta SELECT si esta no esta acompañada de un GROUP BY.

El motor de la base de datos realiza los siguientes pasos:

  • Primero, examina divide los registros por grupos según la cantidad de columnas especificadas
  • En segundo lugar, calcula los valores indicados en función con la clausula de SQL(SumCountMaxMin etc) utilizada
  • Tercero aplica el filtro de grupo para mostrar solo lo que apliquen con la condición Having

Ejemplo de función SQL HAVING con COUNT

en este ejemplo utilizaremos nuestra tabla de productos indicaremos que necesitamos los registros cuya orden mínima sea menor que < 5

  1. SELECT [ProductID],MIN([OrderQty])
  2. FROM [AventureWorks].[SalesLT].[SalesOrderDetail]
  3. Group by [ProductID]
  4. HAVING MIN([OrderQty]) < 5

SQL HAVING WHERE Ejemplo

Para este caso el programa la base de datos realiza los siguientes pasos:

  1. Divide los registros por grupos según la cantidad de columnas especificadas
  2. calcula los valores indicados en función con la clausula de SQL(SumCountMaxMin etc) utilizada
  3. aplica el filtro a nivel de registro
  4. por ultimo aplica el filtro de grupo para mostrar solo lo que apliquen con la condición Having
  1. SELECT [ProductID],MIN([OrderQty])
  2. FROM [AventureWorks].[SalesLT].[SalesOrderDetail]
  3. Where ProductID =707
  4. Group by [ProductID]
  5. HAVING MIN([OrderQty]) < 5

De esta forma te mostramos, como utilizar cláusula HAVING de SQL para filtrar grupos de filas.

Índice

    Prueba tu conocimiento de la cláusula HAVING de SQL

    [HDquiz quiz = "354"]