SQL GROUP BY et HAVING fiches de révision

Fiches de révision sur les clauses SQL GROUP BY et HAVING, abordant concepts, syntaxe et exemples pratiques pour les étudiants en informatique.

TomR6·24 fiches·24 questions
études supérieurescomputer_sciencedatabases
0
Je sais
1 / 24
0
J'apprends
Recto

GROUP BY → définition

Appuyez pour retourner
Verso

La clause GROUP BY regroupe les résultats en fonction de colonnes spécifiques. Utilisée avec des fonctions d'agrégation.

Appuyez pour retourner
Je sais
J'apprends

Quiz(24 questions)

Question 1 sur 24

1. Quelle est la fonction principale de GROUP BY ?

Termes dans ce set(24)

Concepts fondamentaux(12)

GROUP BY → définition

La clause GROUP BY regroupe les résultats en fonction de colonnes spécifiques. Utilisée avec des fonctions d'agrégation.

HAVING → définition

La clause HAVING filtre les groupes créés par GROUP BY. Elle s'applique après l'agrégation.

Vrai ou faux: GROUP BY peut fonctionner sans fonctions d'agrégation.

Faux. GROUP BY est généralement utilisé avec des fonctions d'agrégation pour donner un sens aux groupes.

Différence entre WHERE et HAVING?

WHERE filtre les lignes avant l'agrégation, HAVING filtre après. - WHERE: avant - HAVING: après

Complétez: SELECT * FROM table GROUP BY ...

La colonne(s) par laquelle on souhaite regrouper les résultats, par exemple, 'catégorie'.

Exemple d'utilisation de GROUP BY

SELECT pays, COUNT(*) FROM clients GROUP BY pays; - Compte le nombre de clients par pays.

Quand utiliser HAVING?

Utiliser HAVING pour filtrer des résultats d'agrégation. Exemple: GROUP BY avec SUM ou AVG.

Vrai ou faux: HAVING peut être utilisé sans GROUP BY.

Vrai, mais c'est rare. HAVING sans GROUP BY s'applique à l'ensemble des résultats agrégés.

GROUP BY avec plusieurs colonnes → utilisation?

Permet de regrouper par plusieurs critères. Exemple: GROUP BY pays, ville.

Fonction d'agrégation commune avec GROUP BY?

SUM, COUNT, AVG, MIN, MAX. - Utilisées pour effectuer des calculs sur les groupes.

Exemple: HAVING avec une condition

SELECT pays, COUNT(*) FROM clients GROUP BY pays HAVING COUNT(*) > 10;

Pourquoi utiliser GROUP BY?

Pour obtenir des résumés ou des statistiques sur des ensembles de données. - Analyse des données - Résultats clairs.

Syntaxe et utilisation(12)

Quelle est la syntaxe de GROUP BY ?

SELECT colonne1, fonction_agrégée(colonne2) FROM table GROUP BY colonne1;

Quand utilise-t-on HAVING ?

On utilise HAVING pour filtrer les résultats après une agrégation. Exemple : avoir des sommes supérieures à un certain montant.

Vrai ou faux : GROUP BY peut être utilisé sans HAVING.

Vrai. GROUP BY peut fonctionner seul pour regrouper des lignes.

Complétez : SELECT colonne1, COUNT(*) FROM table _______ colonne1;

GROUP BY

Exemple d'utilisation de HAVING avec COUNT.

SELECT pays, COUNT(*) FROM clients GROUP BY pays HAVING COUNT(*) > 5;

Comment filtrer avec HAVING ?

HAVING est suivi d'une condition sur les résultats agrégés. Exemple : HAVING SUM(salaire) > 30000.

Différence entre WHERE et HAVING ?

WHERE filtre avant l'agrégation. HAVING filtre après. Utilisez WHERE pour les conditions simples.

Que renvoie cette requête ? SELECT genre, AVG(prix) FROM livres GROUP BY genre;

Elle renvoie la moyenne des prix des livres, groupés par genre.

Vrai ou faux : GROUP BY peut regrouper plusieurs colonnes.

Vrai. On peut grouper par plusieurs colonnes : GROUP BY colonne1, colonne2.

Syntaxe pour plusieurs conditions HAVING ?

SELECT colonne1, COUNT(*) FROM table GROUP BY colonne1 HAVING condition1 AND condition2;

Qu'évalue HAVING après une clause GROUP BY ?

HAVING évalue les conditions sur les résultats agrégés comme SUM, COUNT, AVG.

Exemple de GROUP BY avec plusieurs colonnes.

SELECT année, mois, COUNT(*) FROM ventes GROUP BY année, mois;

Questions dans ce set(24)

1. Quelle est la fonction principale de GROUP BY ?

A.Regrouper des lignes selon une colonne
B.Filtrer les lignes avant l'agrégation
C.Calculer des moyennes uniquement
D.Créer de nouvelles tables

2. Quelle est la fonction principale de la clause GROUP BY en SQL?

A.Regrouper les résultats selon des colonnes spécifiques
B.Filtrer les résultats avant l'agrégation
C.Modifier les données dans une table
D.Créer des index sur des colonnes

3. Quand est-il approprié d'utiliser HAVING ?

A.Avant l'agrégation
B.Pour définir une nouvelle table
C.Après une opération d'agrégation
D.Pour modifier les données existantes

4. À quel moment la clause HAVING s'applique-t-elle dans une requête SQL?

A.Avant l'agrégation des données
B.Après l'agrégation des données
C.Lors de la création de la table
D.Avant le tri des résultats

5. Quelle requête utilise correctement HAVING ?

A.SELECT ville FROM clients GROUP BY ville HAVING COUNT(*) > 10
B.SELECT ville FROM clients WHERE COUNT(*) > 10
C.SELECT ville, COUNT(*) FROM clients
D.SELECT COUNT(*) FROM clients GROUP BY ville

6. Vrai ou faux: On peut utiliser GROUP BY sans fonctions d'agrégation.

A.Vrai
B.Faux
C.Cela dépend de la base de données
D.Seulement avec certaines versions de SQL

7. Vrai ou faux : ON peut utiliser GROUP BY avec des fonctions d'agrégation ?

A.Vrai
B.Faux
C.Seulement avec COUNT
D.Seulement avec SUM

8. Quelle est la différence principale entre WHERE et HAVING?

A.WHERE filtre avant l'agrégation, HAVING après
B.HAVING filtre avant l'agrégation, WHERE après
C.Les deux filtrent avant l'agrégation
D.Il n'y a aucune différence

9. Quelle est la syntaxe correcte pour utiliser GROUP BY avec une fonction d'agrégation ?

A.SELECT colonne1, fonction_agrégée(colonne2) FROM table GROUP BY colonne1;
B.SELECT colonne1, colonne2 FROM table WHERE colonne1;
C.SELECT fonction_agrégée(colonne2) FROM table GROUP BY colonne1;
D.SELECT colonne1 FROM table GROUP BY colonne2;

10. Complétez la phrase: SELECT * FROM table GROUP BY ...

A.les colonnes par lesquelles on souhaite regrouper
B.les lignes à exclure
C.les fonctions d'agrégation
D.le type de données

11. Quelle est la différence clé entre WHERE et HAVING ?

A.WHERE filtre après l'agrégation, HAVING avant
B.WHERE filtre avant l'agrégation, HAVING après
C.Les deux filent de la même manière
D.WHERE ne peut pas être utilisé avec GROUP BY

12. Quel exemple illustre correctement l'utilisation de GROUP BY?

A.SELECT pays, COUNT(*) FROM clients GROUP BY pays;
B.SELECT * FROM clients WHERE pays = 'France';
C.SELECT AVG(age) FROM clients;
D.SELECT DISTINCT pays FROM clients;

13. Quel est l'effet de la clause HAVING sur les résultats d'une requête ?

A.Elle exclut des colonnes spécifiques
B.Elle impose des conditions sur les résultats agrégés
C.Elle modifie les valeurs des colonnes
D.Elle renomme les colonnes

14. Quand est-il approprié d'utiliser la clause HAVING?

A.Lorsqu'on veut filtrer des résultats d'agrégation
B.Pour modifier les données d'une table
C.Avant l'agrégation des données
D.Pour créer des index

15. Quel est un bon exemple d'utilisation de GROUP BY avec plusieurs colonnes ?

A.SELECT produit, prix FROM ventes GROUP BY produit;
B.SELECT année, mois, COUNT(*) FROM ventes GROUP BY année, mois;
C.SELECT COUNT(*) FROM ventes GROUP BY année;
D.SELECT mois FROM ventes;

16. Vrai ou faux: HAVING peut être utilisé sans GROUP BY.

A.Vrai
B.Faux
C.Seulement dans certaines bases de données
D.Cela dépend du contexte

17. Comment peut-on exprimer plusieurs conditions dans HAVING ?

A.SELECT colonne1 FROM table HAVING condition1, condition2;
B.SELECT colonne1, COUNT(*) FROM table GROUP BY colonne1 HAVING condition1 AND condition2;
C.SELECT colonne1 FROM table GROUP BY colonne1 HAVING condition1; HAVING condition2;
D.SELECT colonne1 FROM table WHERE condition1 AND condition2;

18. Quelle est la fonctionnalité de GROUP BY avec plusieurs colonnes?

A.Permet de regrouper par plusieurs critères
B.Filtrer les résultats
C.Modifier les données
D.Exclure certaines lignes

19. Que renvoie cette requête : SELECT genre, SUM(prix) FROM livres GROUP BY genre HAVING SUM(prix) > 100 ?

A.Tous les genres
B.Genres où la somme des prix est supérieure à 100
C.Genres avec moins de 100 livres
D.Genres sans livres

20. Quelle fonction d'agrégation est couramment utilisée avec GROUP BY?

A.SUM
B.REPLACE
C.JOIN
D.SELECT

21. Vrai ou faux : GROUP BY ne peut regrouper qu'une seule colonne à la fois.

A.Vrai
B.Faux
C.Cela dépend du type de données
D.Cela dépend du SGBD

22. Quel exemple montre une condition HAVING correcte?

A.SELECT pays, COUNT(*) FROM clients GROUP BY pays HAVING COUNT(*) > 10;
B.SELECT pays FROM clients WHERE COUNT(*) > 10;
C.SELECT pays, AVG(age) FROM clients;
D.SELECT * FROM clients HAVING pays = 'France';

23. Quelle est la bonne manière d’écrire une clause GROUP BY pour inclure plusieurs colonnes ?

A.GROUP BY colonne1, colonne2;
B.GROUP BY (colonne1, colonne2);
C.GROUP BY colonne1 COLONNE2;
D.GROUP BY colonne1 ET colonne2;

24. Pourquoi est-il important d'utiliser GROUP BY?

A.Pour obtenir des résumés ou des statistiques sur des ensembles de données
B.Pour supprimer des données
C.Pour augmenter la vitesse des requêtes
D.Pour normaliser les données

Sets associés

Créez votre propre set d'étude

Téléchargez un PDF, collez vos notes ou décrivez un sujet – l'IA génère des fiches, des quiz et plus en quelques secondes.

Mis en avant sur