Encontrar fuentes: «Tener» SQL – noticias – periódicos – libros – scholar – JSTOR (septiembre de 2018) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)
Una cláusula HAVING
en SQL especifica que una sentencia SQL SELECT
sólo debe devolver filas en las que los valores agregados cumplan las condiciones especificadas.
HAVING
y WHERE
son a menudo confundidos por los principiantes, pero sirven para diferentes propósitos. WHERE
se tiene en cuenta en una fase anterior de la ejecución de una consulta, filtrando las filas leídas de las tablas. Si una consulta contiene GROUP BY
, los datos de las tablas se agrupan y se agregan. Tras la operación de agregación, se aplica HAVING
, filtrando las filas que no coinciden con las condiciones especificadas. Por lo tanto, WHERE
se aplica a los datos leídos de las tablas, y HAVING
sólo debe aplicarse a los datos agregados, que no se conocen en la fase inicial de una consulta.
Para ver la condición actual formada por la cláusula GROUP BY
, se utiliza la cláusula HAVING
.