Saltar al contenido

Having en SQL con ejemplos

marzo 19, 2021

La función HAVING 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.

Prueba tu conocimiento de la cláusula HAVING de SQL

Results

-
close

¡No te pierdas MEGA Curso mysql gratis por tiempo limitado!

¡No hacemos spam! Lee nuestra [link]política de privacidad[/link] para obtener más información.


close





¡No te pierdas MEGA Curso mysql gratis por tiempo limitado!

¡No hacemos spam! Lee nuestra [link]política de privacidad[/link] para obtener más información.

#1. Para que sirve having en sql?

Next

#2. La siguiente consulta es correcta: "SELECT [ProductID],SUM([OrderQty]) FROM [AventureWorks].[SalesLT].[SalesOrderDetail] Group by [ProductID] HAVING SUM([OrderQty]) < 5"

#3. Que falta en esta consulta: SELECT [ProductID],AVG([OrderQty]) FROM [AventureWorks].[SalesLT].[SalesOrderDetail] Group by [ProductID] HAVING

Debes revisar nuevamente!!

Finish

close

¡No te pierdas MEGA Curso mysql gratis por tiempo limitado!

¡No hacemos spam! Lee nuestra [link]política de privacidad[/link] para obtener más información.