Cláusula HAVING

Aplica-se a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

A cláusula HAVING no Access especifica quais registros agrupados são exibidos em uma instrução SELECT com uma cláusula GROUP BY. Depois que GROUP BY combina os registros, HAVING exibe todos os registros agrupados pela cláusula GROUP BY que satisfaçam as condições da cláusula HAVING.

Sintaxe

LISTA DE CAMPOS SELECT
Tabela FROM
WHERE selectcriteria
GROUP BY groupfieldlist
[HAVING groupcriteria]

Uma instrução SELECT contendo uma cláusula HAVING tem estas partes:

Parte Descrição
listacampos O nome do campo ou dos campos a serem recuperados junto com qualquer alias de nome de campo, função de agregação SQL, predicado de seleção (ALL, DISTINCT, DISTINCTROW ou TOP) ou outras opções de instrução SELECT.
tabela O nome da tabela da qual os registros são recuperados.
critériosseleção Critérios de seleção. Se a instrução inclui uma cláusula WHERE, o mecanismo de banco de dados do Microsoft Access agrupa os valores após aplicar as condições WHERE aos registros.
listacamposgrupo Os nomes de até 10 campos usados para agrupar os registros. A ordem dos nomes dos campos em listacamposgrupo determina os níveis de agrupamento do mais alto para o mais baixo.
critériosgrupo Uma expressão que determina quais registros agrupados exibir.

Comentários

HAVING é opcional.

HAVING é similar a WHERE, que determina quais registros são selecionados. Depois que os registros são agrupados com GROUP BY, HAVING determina quais registros são exibidos:

SELECT CategoryID,
Sum(UnitsInStock)
FROM Products
GROUP BY CategoryID
HAVING Sum(UnitsInStock) > 100 And Like "BOS*";

Uma cláusula HAVING pode conter até 40 expressões vinculadas por operadores lógicos, como And e Or.