Tendo Cláusula em SQL

Tendo Clausula Em Sql



Este tutorial visa ajudá-lo a entender e usar a cláusula HAVING em instruções SQL.

Mergulhemos.







SQL Tendo Cláusula

A cláusula HAVING no SQL permite definir uma condição nos grupos definidos em uma cláusula SQL GROUP BY.



Você pode usar a cláusula GROUP BY para organizar os dados em várias partições no SQL. Você pode executar várias ações nos grupos, como funções de agregação.



Usando a cláusula HAVING, você pode especificar uma condição para os grupos. No entanto, você pode usar a cláusula HAVING sem um emparelhamento GROUP BY. Nesse caso, a cláusula HAVING se comportará de maneira semelhante à cláusula WHERE, que permite pesquisar registros correspondentes.





O trecho de código a seguir define a sintaxe da cláusula SQL HAVING:

SELECT cols
FROM table_name
GROUP BY group_by_clause
TENDO grupo_condição;



Exemplo 1: Usando a Cláusula HAVING com Tabela de Filme

Para entender melhor como usar a cláusula HAVING no SQL, usaremos um banco de dados de exemplo fornecido pelo MySQL.

Você pode verificar o seguinte recurso fornecido para obter mais informações:

Para esta ilustração, usaremos a tabela de filmes do banco de dados sakila, fornecida no link fornecido.

Podemos encontrar os filmes com classificação de locação de 2,99 e superior usando a cláusula HAVING, conforme mostrado na seguinte consulta:

selecionar title, release_year, classificação, rental_rate
do filme
agrupar por classificação
tendo rental_rate > = 2,99 ;


A tabela resultante é a seguinte:


Nesse caso, a consulta encontra 4 registros correspondentes conforme mostrado na tabela anterior.

Exemplo 2: Usando a Cláusula HAVING com uma Função Agregada

Também podemos usar a função sum() para determinar o filme com a soma das avaliações do filme com um intervalo específico de rental_rate.

selecionar title, release_year, classificação, rental_rate, soma ( taxa de aluguel )
do filme
agrupar por classificação
tendo soma ( taxa de aluguel ) entre 500 e 600 ;


Neste caso, a consulta deve retornar a tabela da seguinte forma: