Cláusulas

 

Predicados Where Select From Group By Order By Having Volver

Cláusula HAVING

 

Especifica qué registros agrupados se muestran en una instrucción SELECT con una cláusula GROUP BY. Después de que GROUP BY combine los registros, HAVING muestra cualquier registro agrupado por la cláusula GROUP BY que satisfaga las condiciones de la cláusula HAVING.

Sintaxis

SELECT listadecampos
FROM tabla
WHERE criteriosdeselección
GROUP BY listadecamposdegrupo
[HAVING criteriosdegrupo]

Una instrucción SELECT que contiene una cláusula HAVING consta de las siguientes partes:

Parte

Descripción

listadecampos

Nombre del campo o campos que se van a recuperar junto con cualquier alias de nombre de campo, funciones de agregado de SQL, predicados de selección (ALL, DISTINCT, DISTINCTROW o TOP) u otras opciones de la instrucción SELECT.

tabla

Nombre de la tabla de la cual se recuperan los registros.

criteriosdeselección

Criterios de selección. Si la instrucción incluye una cláusula WHERE, el motor de base de datos Microsoft Jet agrupa los valores después de aplicar las condiciones WHERE a los registros.

listadecamposdegrupo

Nombres de hasta un máximo de 10 campos utilizados para agrupar registros. El orden de los nombres de campo de listadecamposdegrupo determina los niveles de agrupación desde el nivel más alto al nivel más bajo.

criteriosdegrupo

Expresión que determina los registros agrupados que se muestran.

 Comentarios

HAVING es opcional.

HAVING es similar a WHERE, que determina los registros que se seleccionan. Después de que los registros se agrupen con GROUP BY, HAVING determina qué registros se muestran:

SELECT IdCategoría, Suma(UnidadesEnExistencia) FROM Productos GROUP BY IdCategoría

HAVING Suma(UnidadesEnExistencias) > 100 Y Como "BOS*";

Una cláusula HAVING puede contener hasta un máximo de 40 expresiones unidas por operadores lógicos, como Y y O.

 

Volver

 

 

*