Différence HAVING/where

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. 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.
    1. Modérateur

      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é.