Quelle est la difference entre HAVING et WHERE ???
3 réponses
Fred
Bonjour, je déboute en SQL et j'aimerais comprendre a différence entre les
clauses HAVING et WHERE, pouvez vous si possible me donner au passage un
exemple ...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe T [MS]
Bonjour,
WHERE est une clause de restriction qui s'applique sur tous type de commande SELECT, UPDATE, ...
HAVING est plutôt utilisé lorsque l'on a une clause GROUP BY lorsque l'on a des fonctions d'aggrégation (MAX, SUM, ...)
Si l'on a pas de clause GROUP BY, WHERE et HAVING ont le même comportement donc dans ces conditions, préférer la clause WHERE plus généralement utilisée.
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Fred" wrote in message news:4266e703$0$19351$
Bonjour, je déboute en SQL et j'aimerais comprendre a différence entre les clauses HAVING et WHERE, pouvez vous si possible me donner au passage un exemple ...
Merci de votre aide
Fred
Bonjour,
WHERE est une clause de restriction qui s'applique sur tous type de commande
SELECT, UPDATE, ...
HAVING est plutôt utilisé lorsque l'on a une clause GROUP BY lorsque l'on a
des fonctions d'aggrégation (MAX, SUM, ...)
Si l'on a pas de clause GROUP BY, WHERE et HAVING ont le même comportement
donc dans ces conditions, préférer la clause WHERE plus généralement
utilisée.
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Fred" <netmaster2@wanadoo.fr> wrote in message
news:4266e703$0$19351$8fcfb975@news.wanadoo.fr...
Bonjour, je déboute en SQL et j'aimerais comprendre a différence entre les
clauses HAVING et WHERE, pouvez vous si possible me donner au passage un
exemple ...
WHERE est une clause de restriction qui s'applique sur tous type de commande SELECT, UPDATE, ...
HAVING est plutôt utilisé lorsque l'on a une clause GROUP BY lorsque l'on a des fonctions d'aggrégation (MAX, SUM, ...)
Si l'on a pas de clause GROUP BY, WHERE et HAVING ont le même comportement donc dans ces conditions, préférer la clause WHERE plus généralement utilisée.
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Fred" wrote in message news:4266e703$0$19351$
Bonjour, je déboute en SQL et j'aimerais comprendre a différence entre les clauses HAVING et WHERE, pouvez vous si possible me donner au passage un exemple ...
Merci de votre aide
Fred
Ph. B.
Fred a demandé:
Bonjour, je déboute en SQL et j'aimerais comprendre a différence entre les clauses HAVING et WHERE, pouvez vous si possible me donner au passage un exemple ...
Merci de votre aide
Fred
Bonjour,
Ce sont 2 clauses de filtrage mais: _WHERE s'applique aux lignes résultants du SELECT
/* Liste des personnes de prénom "Pierre" dans ma table */ SELECT NOM, PRENOM FROM PERSONNE WHERE PRENOM = "Pierre"
_HAVING ne s'applique qu'après regroupement de lignes issues du SELECT...GROUP BY
/* Liste des prénoms dont le nombre d'occurrences dans ma table > 10 */ SELECT PRENOM, COUNT(*) AS NOMBRE FROM PERSONNE GROUP BY PRENOM HAVING COUNT(*) > 10
Ce qui peux donner une restriction sur le SELECT suivant d'une autre restriction sur le regroupement
/* Liste des prénoms dont le nombre d'occurrences dans ma table > 3 */ /* pour les personnes dont le nom commence par A */
SELECT PRENOM, COUNT(*) AS NOMBRE FROM PERSONNE WHERE NOM LIKE 'A%' -- Restriction sur le SELECT GROUP BY PRENOM HAVING COUNT(*) > 3 -- Restriction sur le regroupement
-- Philippe.
Fred a demandé:
Bonjour, je déboute en SQL et j'aimerais comprendre a différence entre les
clauses HAVING et WHERE, pouvez vous si possible me donner au passage un
exemple ...
Merci de votre aide
Fred
Bonjour,
Ce sont 2 clauses de filtrage mais:
_WHERE s'applique aux lignes résultants du SELECT
/* Liste des personnes de prénom "Pierre" dans ma table */
SELECT NOM, PRENOM
FROM PERSONNE
WHERE PRENOM = "Pierre"
_HAVING ne s'applique qu'après regroupement de lignes issues du
SELECT...GROUP BY
/* Liste des prénoms dont le nombre d'occurrences dans ma table > 10 */
SELECT PRENOM, COUNT(*) AS NOMBRE
FROM PERSONNE
GROUP BY PRENOM
HAVING COUNT(*) > 10
Ce qui peux donner une restriction sur le SELECT suivant d'une autre restriction
sur le regroupement
/* Liste des prénoms dont le nombre d'occurrences dans ma table > 3 */
/* pour les personnes dont le nom commence par A */
SELECT PRENOM, COUNT(*) AS NOMBRE
FROM PERSONNE
WHERE NOM LIKE 'A%' -- Restriction sur le SELECT
GROUP BY PRENOM
HAVING COUNT(*) > 3 -- Restriction sur le regroupement
Bonjour, je déboute en SQL et j'aimerais comprendre a différence entre les clauses HAVING et WHERE, pouvez vous si possible me donner au passage un exemple ...
Merci de votre aide
Fred
Bonjour,
Ce sont 2 clauses de filtrage mais: _WHERE s'applique aux lignes résultants du SELECT
/* Liste des personnes de prénom "Pierre" dans ma table */ SELECT NOM, PRENOM FROM PERSONNE WHERE PRENOM = "Pierre"
_HAVING ne s'applique qu'après regroupement de lignes issues du SELECT...GROUP BY
/* Liste des prénoms dont le nombre d'occurrences dans ma table > 10 */ SELECT PRENOM, COUNT(*) AS NOMBRE FROM PERSONNE GROUP BY PRENOM HAVING COUNT(*) > 10
Ce qui peux donner une restriction sur le SELECT suivant d'une autre restriction sur le regroupement
/* Liste des prénoms dont le nombre d'occurrences dans ma table > 3 */ /* pour les personnes dont le nom commence par A */
SELECT PRENOM, COUNT(*) AS NOMBRE FROM PERSONNE WHERE NOM LIKE 'A%' -- Restriction sur le SELECT GROUP BY PRENOM HAVING COUNT(*) > 3 -- Restriction sur le regroupement
-- Philippe.
Fred BROUARD
WHERE => filtre sur les données des tables HAVING => filtre sur les résultats des calculs de la requête.
Pour bien comprendre : http://sqlpro.developpez.com/cours/sqlaz/ensembles/#L2
A +
Fred a écrit:
Bonjour, je déboute en SQL et j'aimerais comprendre a différence entre les clauses HAVING et WHERE, pouvez vous si possible me donner au passage un exemple ...
Merci de votre aide
Fred
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
WHERE => filtre sur les données des tables
HAVING => filtre sur les résultats des calculs de la requête.
Pour bien comprendre : http://sqlpro.developpez.com/cours/sqlaz/ensembles/#L2
A +
Fred a écrit:
Bonjour, je déboute en SQL et j'aimerais comprendre a différence entre les
clauses HAVING et WHERE, pouvez vous si possible me donner au passage un
exemple ...
Merci de votre aide
Fred
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
WHERE => filtre sur les données des tables HAVING => filtre sur les résultats des calculs de la requête.
Pour bien comprendre : http://sqlpro.developpez.com/cours/sqlaz/ensembles/#L2
A +
Fred a écrit:
Bonjour, je déboute en SQL et j'aimerais comprendre a différence entre les clauses HAVING et WHERE, pouvez vous si possible me donner au passage un exemple ...
Merci de votre aide
Fred
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************