Diferença entre cláusula where e having no SQL

Diferença chave - onde vs tendo cláusula no SQL
 

Os dados são importantes para todas as organizações. Portanto, é necessário armazenar os dados de maneira organizada para recuperá-los. Os dados são armazenados em tabelas. Um banco de dados consiste em uma coleção de tabelas. Um tipo comum de banco de dados são bancos de dados relacionais. Em um banco de dados relacional, as tabelas são relacionadas entre si. Por exemplo, o cliente da tabela está conectado à tabela de pedidos. Um Sistema de Gerenciamento de Banco de Dados Relacional (RDBMS) é um sistema de gerenciamento de banco de dados baseado no modelo relacional. É usado para gerenciar bancos de dados relacionais. Alguns exemplos de RDBMS são MySQL, MSSQL e Oracle. A linguagem de consulta estruturada (SQL) é a linguagem usada para manipular e recuperar dados em um banco de dados relacional. Existem várias cláusulas no SQL para executar tarefas diferentes. Dois deles estão onde e tendo. Este artigo discute a diferença entre cláusula where e having no SQL. o diferença chave entre onde e tendo cláusula no SQL é que onde a cláusula é usada para filtrar registros antes que um agrupamento ou agregação ocorra enquanto que a cláusula é usada para filtrar registros após um agrupamento ou ocorre uma agregação.

CONTEÚDO

1. Visão geral e principais diferenças
2. O que é a cláusula where no SQL
3. O que está tendo cláusula no SQL
4. Semelhanças entre cláusula where e having no SQL
5. Comparação lado a lado - onde vs com cláusula no SQL em forma de tabela
6. Resumo

O que é a cláusula where no SQL?

Ajuda a recuperar, atualizar ou excluir um conjunto específico de dados da tabela de acordo com a condição especificada. O programador pode usar a cláusula where para restringir e buscar apenas os dados necessários. A consulta é executada apenas nos registros em que a condição especificada pela cláusula where é verdadeira. Pode ser usado com selecionar, atualizar e excluir.

Consulte a tabela abaixo do aluno,

Para selecionar o nome e a idade do aluno cujo student_id é igual a 3, a seguinte consulta SQL pode ser usada.

selecione nome, idade do aluno em que student_id = 3;

Também é possível usar operadores como diferente de (! =), Maior que (>), menor que (=), menor ou igual a (<=). To select the student_id and name whose age is not equal to 15, the following SQL query can be used.

selecione student_id, nome do aluno com idade! = 15;

Para alterar a idade do aluno de 2 para 13, a seguinte consulta pode ser usada.

atualizar aluno definir idade = 13, em que id = 3;

Para excluir o registro do qual student_id é 4, a seguinte consulta pode ser usada.

excluir do aluno onde student_id = 4;

Os operadores e, ou podem ser usados ​​para combinar várias condições.

selecione o nome do aluno em que student_id = 1 e idade = 15; consulta recuperará o nome Ann.

Estes são alguns exemplos da cláusula where no SQL. Se houver uma cláusula Agrupar por, a cláusula where aparecerá antes dessa.

O que está tendo cláusula no SQL?

Existem funções fornecidas pela linguagem SQL para realizar cálculos facilmente. Eles são conhecidos como funções de agregação. O min () é usado para encontrar o menor valor da coluna selecionada. O max () é usado para encontrar o valor máximo da coluna selecionada. O avg () é usado para encontrar a média na coluna e sum () é usado para encontrar o total da coluna. Esses são alguns exemplos de funções de agregação. Consulte a tabela de pedidos abaixo,

O programador pode escrever a consulta SQL da seguinte maneira para recuperar os clientes cujo saldo é maior que 2000.

selecione * do grupo de pedidos por cliente com soma (saldo)> 2000.

Isso imprimirá os registros do cliente cuja soma do saldo é maior que 2000. Ele imprimirá os registros dos clientes Ann e Alex.

A cláusula having é usada para recuperar os valores para os grupos que atendem a determinadas condições. Portanto, o grupo que cai para a condição especificada aparecerá como resultado disso. A cláusula having aparece após a cláusula agrupar por. Se a cláusula agrupar por não estiver presente, a cláusula having funcionará de maneira semelhante à cláusula where.

Quais são as semelhanças entre cláusula where e having no SQL?

  • Ambas são cláusulas na linguagem de consulta estruturada.
  • Ambos podem ser usados ​​para filtrar a recuperação de um conjunto de dados.

Qual é a diferença entre where e having cláusula no SQL?

cláusula where vs having no SQL

A cláusula where é usada para especificar uma condição ao buscar os dados de uma única tabela ou ao associar-se a várias tabelas. O having é uma cláusula SQL que especifica que uma instrução SQL select deve retornar somente linhas onde valores agregados atendem às condições especificadas.
 Objetivo
A cláusula where é usada para filtrar linhas. A cláusula having é usada para filtrar grupos.
Agregação 
A cláusula where não pode ser usada com funções de agregação, a menos que esteja em uma subconsulta contida na cláusula Having. As funções de agregação podem ser usadas com a cláusula having.
 Método de filtragem
A cláusula where se comporta como um pré-filtro. A cláusula having se comporta como um filtro posterior.
Agrupar por ordem de cláusula
A cláusula where é usada antes da cláusula Group By. A cláusula having é usada após a cláusula Group By.
Usado com
A cláusula where pode ser usada com selecionar, atualizar e excluir. A cláusula having é usada apenas com select.

Sumário - Onde vs tendo cláusula no SQL

A linguagem de consulta estruturada (SQL) é a linguagem usada em bancos de dados relacionais. O where está tendo duas cláusulas no SQL. Este artigo discutiu a diferença entre cláusula where e having. A diferença entre cláusula where e having no SQL é aquela em que é usada para filtrar registros antes que ocorra um agrupamento ou agregação, enquanto que é usada para filtrar registros após um agrupamento ou agregação..

Referência:

1. “Usando a cláusula WHERE SQL.” Cláusula WHERE nas instruções SQL | Studytonight. Disponivel aqui
2.Ter cláusula com funções de grupo SQL | Tutorial do DBMS | Studytonight. Disponivel aqui 
3. "Tendo (SQL)." Wikipedia, Wikimedia Foundation, 3 de março de 2018. Disponível aqui 
4. "Ter vs cláusula Where?" GeeksforGeeks, 9 de maio de 2017. Disponível aqui