Différence HAVING/where

saditerre Messages postés 102 Statut Membre -  
MrYAU31 Messages postés 4631 Statut Membre -
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

2 réponses

  1. jee pee Messages postés 31892 Date d'inscription   Statut Modérateur Dernière intervention   9 984
     

    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
  2. MrYAU31 Messages postés 4631 Statut Membre 1 630
     
    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