Cláusula HAVING

A cláusula HAVING especifica os registos agrupados que são apresentados numa instrução SELECT com uma cláusula GROUP BY. Depois de GROUP BY combinar os registos, HAVING apresenta todos os registos agrupados pela cláusula GROUP BY que satisfaçam as condições da cláusula HAVING.

Sintaxe

SELECT listadecampos
FROM tabela
WHERE critériosdeseleção
GROUP BY agruparlistadecampos
[HAVING critériosdegrupo]

Uma instrução SELECT que contenha uma cláusula HAVING tem as seguintes partes:

Parte

Descrição

listadecampos

O nome do campo ou campos a obter juntamente com os aliases de nome do campo, funções de agregação SQL, predicados de seleção (ALL, DISTINCT, DISTINCTROW ou TOP) ou outras opções da instrução SELECT.

tabela

O nome da tabela a partir da qual são obtidos os registos.

critériosdeseleção

Critérios de seleção. Se a instrução incluir uma cláusula WHERE, o motor de base de dados do Microsoft Access agrupa os valores após aplicar as condições WHERE aos registos.

listadecamposdegrupo

Os nomes de um máximo de 10 campos utilizados para agrupar registos. A ordem dos nomes de campo na listadecamposdegrupo determina os níveis de agrupamento do mais alto para o mais baixo.

agruparcritérios

Uma expressão que determina os registos agrupados a apresentar.

Observações

HAVING é opcional.

HAVING é semelhante a WHERE, que determina que registos estão selecionados. Após o agrupamento através de GROUP BY, HAVING determina que registos são apresentados:

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 ligadas por operadores lógicos, como E e Ou.

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×