Diferença chave: Ambos, 'Tendo' e 'Onde' são cláusulas que podem ser utilizadas no SQL. A cláusula 'Where' é aplicada primeiro às linhas individuais nas tabelas, usando as quais as linhas que atendem às condições na cláusula são agrupadas. A cláusula 'Having' é então aplicada às linhas no conjunto de resultados. Os grupos que atendem às condições na cláusula 'Having' aparecem na saída da consulta.

Ambos 'Tendo' e 'Onde' são cláusulas que podem ser utilizadas no SQL. SQL é uma linguagem de programação de propósito especial projetada para gerenciar dados em sistemas de gerenciamento de banco de dados relacional (RDBMS). Tem as seguintes funções:
- Inserção de dados,
- Atualizar e excluir,
- Acesso e controle, e
- Controle de Esquema e Modificação.
Está subdividido em elementos, tais como:
- Expressões
- Predicados
- Consultas
- Afirmações
- Cláusulas
As cláusulas no SQL incluem:
- Cláusula de restrição
- Para cláusula Update
- Da cláusula
- Cláusula Group By
- Cláusula Order By
- Onde atual da cláusula
- Tendo cláusula
- Cláusula where
'Tendo' e 'Onde' são apenas duas dessas muitas cláusulas. Instruções em SQL podem ser executadas na seguinte ordem:
- Cláusula FROM
- Cláusula WHERE
- Cláusula GROUP BY
- Tendo cláusula
- Cláusula SELECT
- Cláusula ORDER BY
A cláusula 'Having' é usada somente com a instrução 'Select' e depois da cláusula 'Group By'. A cláusula 'Where', por outro lado, pode ser usada com instruções diferentes da instrução 'Select'. No entanto, ele é usado antes da cláusula 'Agrupar por'. Se no caso, a cláusula 'Group By' não é usada, então a cláusula 'Having' se comporta como uma cláusula 'Where'.

A cláusula 'Where' é aplicada primeiro às linhas individuais nas tabelas, usando as quais as linhas que atendem às condições na cláusula são agrupadas. A cláusula 'Having' é então aplicada às linhas no conjunto de resultados. Os grupos que atendem às condições na cláusula 'Having' aparecem na saída da consulta.
A cláusula 'Having' é usada para filtrar registros retornados por um grupo pela cláusula utilizando um predicado. Usando a cláusula 'Having', os resultados de uma cláusula 'Group By' podem ser restritos e apenas as linhas especificadas são selecionadas.
A cláusula 'Where', por outro lado, é usada para selecionar linhas que devem ser incluídas na consulta. A cláusula usa um predicado de comparação baseado nos seguintes operadores: = ou igual, ou não igual, > ou maior que, = ou maior que ou igual, <= ou menor que ou igual, entre, como e dentro. 'cláusula exclui linhas que não atendem aos requisitos definidos pela consulta.
A cláusula 'Where' é usada para selecionar linhas individuais em uma tabela especificada em uma cláusula 'De'. Ele é usado para recuperar informações específicas de uma tabela, excluindo outros dados irrelevantes. Isso tende a aumentar o tempo de processamento da consulta.