Diferencia entre la cláusula Where y Have en SQL

1. Cláusula 
WHERE: La cláusula WHERE se usa para filtrar los registros de la tabla o se usa al unir más de una tabla. Solo se extraerán los registros que cumplan la condición especificada en la cláusula WHERE. Se puede usar con sentencias SELECT, UPDATE, DELETE. 

Consideremos la siguiente tabla «Estudiante» 

Roll_no       S_Name      Age

1                a             17

2                b             20

3                c             21

4                d             18

5                e             20

6                f             17

7                g             21

8                h             17 

Considere la consulta: 

SELECT S_Name, Age FROM Student 
WHERE Age >=18

La SALIDA de la consulta anterior es: 

 S_Name      Age

b             20             

c             21             

d             18             

e             20             

g             21             

2. Cláusula 
HAVING: la cláusula HAVING se utiliza para filtrar los registros de los grupos en función de la condición dada en la cláusula HAVING. Aquellos grupos que satisfagan la condición dada aparecerán en el resultado final. La cláusula HAVING solo se puede usar 
con la instrucción SELECT. 

Consideremos la tabla Student mencionada anteriormente y apliquemos la cláusula que tiene sobre ella: 

SELECT Age, COUNT(Roll_No) AS No_of_Students 
FROM Student GROUP BY Age
HAVING COUNT(Roll_No) > 1 

La SALIDA de la consulta anterior es: 

Age     No_of_Students

17              3

20              2

21              2 

Diferencia entre la cláusula Where y Have en SQL: 

NO SEÑOR. Dónde cláusula HABER Cláusula
1. La cláusula WHERE se utiliza para filtrar los registros de la tabla en función de la condición especificada. La cláusula HAVING se utiliza para filtrar registros de los grupos en función de la condición especificada.
2. La cláusula WHERE se puede usar sin la cláusula GROUP BY La cláusula HAVING no se puede utilizar sin la cláusula GROUP BY
3. La cláusula WHERE implementa operaciones en fila Cláusula HAVING implementa en operación de columna
4. La cláusula WHERE no puede contener una función agregada La cláusula HAVING puede contener una función agregada
5. La cláusula WHERE se puede usar con la declaración SELECT, UPDATE, DELETE. La cláusula HAVING solo se puede usar con la instrucción SELECT.
6. La cláusula WHERE se usa antes de la cláusula GROUP BY La cláusula HAVING se usa después de la cláusula GROUP BY
7. WHERE Clause se usa con una función de fila única como SUPERIOR, INFERIOR, etc. La cláusula HAVING se usa con funciones de varias filas como SUM, COUNT, etc.

Publicación traducida automáticamente

Artículo escrito por nishthagoel712 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *