Projection☘
La projection consiste à ne conserver que certaines colonnes (attributs) dans le résultat de la requête :
1 2 |
|
Vocabulaire
La commande SELECT
correspond à une opération de projection, pas de
sélection...
Exemple☘
On considère la table Confitures dont les enregistrements sont donnés ci-dessous :
Écrire une requête qui recherche et renvoie les stocks pour chaque référence.
Une réponse
1 2 |
|
Résultat de la requête
Cas particuliers :☘
-
Pour projeter sur l’ensemble des colonnes de la table, on peut utiliser le caractère «
*
» :1 2
SELECT * FROM nom_table ;
-
Lors de l’opération de projection, des enregistrements « doublons » peuvent apparaître. On évite ces doublons en utilisant le mot-clef
DISTINCT
.
Exemple☘
La table Confitures
Écrire une requête qui renvoie les parfums des confitures vendues.
Une réponse
1 2 |
|
Résultat de la requête
Opérations sur les colonnes☘
On peut utiliser des opérations arithmétiques ou des fonctions d’agrégation pour projeter des données sur des colonnes supplémentaires, construites à partir des colonnes d’origine des tables :
1 2 |
|
Pour améliorer l’affichage et la compréhension, il est possible de créer un
alias (renommer) une telle colonne avec le mot-clef AS
:
1 2 |
|
Fonctions d’agrégation :☘
Voici les fonctions d'agrégation les plus usuelles :
MIN(a)
: renvoie la plus petite valeur de la colonnea
.MAX(a)
: renvoie la plus grande valeur de la colonnea
.SUM(a)
: calcule la somme des valeurs de la colonnea
.AVG(a)
: calcule la moyenne des valeurs de la colonnea
.COUNT(a)
: renvoie le nombre de lignes (nonNULL
) de la colonnea
.
Important
Pour renvoyer le nombre d’enregistrements de la table, on saisit la commande :
1 2 |
|
Exemples☘
La table Confitures
-
Écrire une requête qui renvoie le nombre de pots de confiture en stock.
Une réponse
1 2
SELECT SUM(stock) AS nb_de_pots FROM Confitures;
Résultat de la requête
-
Écrire une requête qui renvoie le prix moyen d’un pot de confiture.
Une réponse
1 2
SELECT AVG(prix_unit) AS prix_moyen FROM Confitures;
Résultat de la requête
-
Écrire une requête qui renvoie le nombre de parfums différents.
Une réponse
Un exemple sans renommer la colonne résultat :
1 2
SELECT COUNT(DISTINCT fruit) FROM Confitures;
Résultat de la requête