Différence HAVING/where

saditerre Messages postés 75 Date d'inscription   Statut Membre Dernière intervention   -  
MrYAU31 Messages postés 3808 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je ne comprends pas clairement le différence entre la requête having et la requête where en SQL... Quelqu'un aurait-il une idée?
Thanks
A voir également:

2 réponses

jee pee Messages postés 41519 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 

Salut,

Le where est une condition simple.

Le having est une condition qui s'applique sur un regroupement (group by)
 

select montant from table where montant > 10

select departement, sum(montant) from table 
group by departement 
having sum(montant) > 1000


cdlt

        Un étranger, c'est un ami qu'on n'a pas encore rencontré.

0
MrYAU31 Messages postés 3808 Date d'inscription   Statut Membre Dernière intervention   1 615
 
Bonjour,

Sauf erreur de ma part, HAVING s'utilise principalement avec des fonctions d'agrégats comme GROUP BY car dans le cas de WHERE, ton moteur de BDD ne retournera que les éléments remplissant les conditions de ta clause WHERE alors qu'avec HAVING, tous les éléments seront retournés et le tri se fera ensuite.
Cela permet donc de soulager la charge de ton serveur en limitant le nombre d'éléments retournés par ta requête.
0