Partie 1
1

Chapitre 7 :
Faire des restrictions à l'aide de champs calculés ou des fonctions : HAVING

Exemple sur les Having : Exemple SQL n°1

Les questions doivent vous aider à comprendre le code présenté ci-dessous.
Une fois que vous tenez la solution, vous pouvez afficher la réponse en cliquant sur l’intitulé de la question.

1.Quelle est la colonne affichée ?

R : La colonne villecli de la table Client.

2.Est ce que toutes les villes sont affichées ?

R : Non, il manque Freyming

3.Compter dans les tables le nombre de clients dans chaque ville.

R : Saint Avold 5, Forbach 4, Freyming 2

4.D'après vous, à quoi sert l'instruction HAVING COUNT(NomCli)>3 ?

R : HAVING permet de faire une restriction à l'aide d'un agrégat. Cela signifie qu'on utilise le COUNT pour sélectionner les lignes de la table à afficher

5.Le COUNT(nomCli)>3 n'apparait pas dans l'instruction SELECT. Quel problème cela pose-t-il ?

R : Il est impossible de comprendre le tableau résultat sans avoir la requête sous les yeux. Il est donc conseillé d'afficher à l'aide d'un select le champ sur lequel on effectue la restriction.
Exemple validé
SELECT villecli 
FROM Clients 
GROUP BY villecli 
    HAVING COUNT(nomcli)>3;
Table Clients (codecli, prenomcli, nomcli, ruecli, cpcli, villecli)
Clé primaire : codecli

Table Films (codefilm, nomfilm)
Clé primaire : codefilm

Table Locations (codecli, codefilm, datedebut, duree)
Clé primaire : codecli, codefilm
Clé étrangère : codefilm de la table Films, codecli de la table Clients

Requête 1
villecli
Forbach
Saint-Avold