Diferencia clave: Ambas cláusulas, "Teniendo" y "Dónde" son cláusulas que pueden utilizarse en SQL. La cláusula "Dónde" se aplica primero a las filas individuales de las tablas, con lo cual se agrupan las filas que cumplen con las condiciones de la cláusula. La cláusula 'Having' se aplica a las filas en el conjunto de resultados. Los grupos que cumplen con las condiciones en la cláusula 'Teniendo' aparecen en el resultado de la consulta.
Tanto "Having" como "Where" son cláusulas que pueden utilizarse en SQL. SQL es un lenguaje de programación de propósito especial diseñado para administrar datos en sistemas de administración de bases de datos relacionales (RDBMS). Tiene las siguientes funciones:
- Inserción de datos,
- Actualizar y eliminar,
- Acceso y control, y
- Control y modificación de esquemas.
Se subdivide en elementos, tales como:
- Expresiones
- Predicados
- Consultas
- Declaraciones
- Cláusulas
Las cláusulas en SQL incluyen:
- Cláusula de restricción
- Para la cláusula de actualización
- De la cláusula
- Grupo por cláusula
- Orden por cláusula
- Donde la corriente de la cláusula
- Tener cláusula
- Dónde cláusula
"Tener" y "Dónde" son solo dos de estas muchas cláusulas. Las declaraciones en SQL se pueden ejecutar en el siguiente orden:
- De la cláusula
- Dónde cláusula
- Cláusula GROUP BY
- CLAVE QUE TIENE
- Cláusula de selección
- Cláusula ORDER BY
La cláusula 'Having' se usa solo con la declaración 'Select' y después de la cláusula 'Group By'. La cláusula "Dónde", por otro lado, también puede usarse con una declaración que no sea la declaración "Seleccionar". Sin embargo, se usa antes de la cláusula 'Agrupar por'. Si en el caso, la cláusula 'Agrupar por' no se usa, entonces la cláusula 'Haber' se comporta como una cláusula 'Donde'.
La cláusula "Dónde" se aplica primero a las filas individuales de las tablas, con lo cual se agrupan las filas que cumplen con las condiciones de la cláusula. La cláusula 'Having' se aplica a las filas en el conjunto de resultados. Los grupos que cumplen con las condiciones en la cláusula 'Teniendo' aparecen en el resultado de la consulta.
La cláusula 'Having' se usa para filtrar registros que son devueltos por una cláusula group by utilizando un predicado. Al utilizar la cláusula 'Having', los resultados de una cláusula 'Group By' se pueden restringir y solo se seleccionan las filas especificadas.
La cláusula 'Dónde', por otro lado, se utiliza para seleccionar las filas que se incluirán en la consulta. La cláusula utiliza un predicado de comparación basado en los siguientes operadores: = o igual, o no igual, > o mayor que, = o mayor que o igual, <= o menor que o igual, entre, como, y en. La cláusula 'excluye las filas que no cumplen con los requisitos establecidos por la consulta.
La cláusula 'Dónde' se usa para seleccionar filas individuales en una tabla que se especifica en una cláusula 'Desde'. Se utiliza para recuperar información específica de una tabla que excluye otros datos irrelevantes. Hacer esto tiende a aumentar el tiempo de procesamiento de la consulta.