En una frase
Filtra grupos después de calcular una agregación.
Cuándo se utiliza
Ayuda a seleccionar únicamente las filas o grupos relevantes. Filtra grupos después de aplicar GROUP BY.
Conexión con el curso: estudia este concepto dentro de una secuencia completa en la lección relacionada.
Sintaxis y ejemplo
SELECT categoria, COUNT(*) FROM productos GROUP BY categoria HAVING COUNT(*) > 1;Cómo leerlo
SELECT categoria, COUNT(*) FROM productos GROUP BY categoria HAVING COUNT(*) > 1;: elige las columnas o expresiones del resultado.
Error que conviene evitar
No lo memorices sin contexto
WHERE filtra filas antes de agrupar; HAVING filtra grupos después.
Antes de ejecutar una instrucción, predice qué filas y columnas esperas obtener o modificar. Esa predicción permite detectar errores con más rapidez.
Mini práctica
Explícalo con tus palabras
Sin copiar la definición, responde: ¿qué problema resuelve HAVING y qué parte del ejemplo produce ese efecto?
Qué debe contener una buena respuesta
Una buena respuesta menciona el momento en que se usa, el efecto sobre filas, columnas o estructura y una precaución relevante. No es necesario recitar la sintaxis exacta.
Compatibilidad
La idea general pertenece a SQL, pero la sintaxis exacta, las funciones disponibles y el comportamiento pueden variar entre PostgreSQL, MySQL, SQLite, SQL Server y Oracle. Verifica la documentación oficial del motor antes de utilizarlo en producción.
Recuerda
- Filtra grupos después de calcular una agregación.
- WHERE filtra filas antes de agrupar; HAVING filtra grupos después.
- Prueba el ejemplo con pocos datos y comprueba el resultado esperado.