|
SQL : Projection, sélection
Projection
L'opération de
projection consiste à choisir le nom des colonnes de la (ou des)
table(s) que l'on souhaite voir apparaître dans la réponse. Si l'on
veut afficher toutes les colonnes, il faut utiliser "*". Les
colonnes sont données après la clause SELECT.
-
Afficher le Nom et le code sexe des étudiants.
SELECT
Nometu, Cdsexe
FROM ETUDIANT;
-
Afficher le Contenu de la table ETUDIANT
SELECT *
FROM ETUDIANT;
Sommaire SQL
Q01 : Afficher le
Nom le numéro et date de naissance des étudiants
Sommaire SQL
Sélection
L'opération de
sélection consiste à sélectionner des lignes (n-uplets, tuples) d'une
(ou plusieurs) table(s) qui satisfont certaines conditions. Les
conditions sont exprimées après la clause WHERE.
-
Afficher la liste des étudiants de sexe masculin.
SELECT
*
FROM ETUDIANT
WHERE Cdsexe='H';
Q02 : Liste des
enseignants qui ont plus de 2 ans d'ancienneté dans le grade.
Sommaire SQL
Projection
et Sélection
Les opérations de projection et de
sélection peuvent évidemment être utilisées dans la même requête SQL.
- Afficher le numéro et le nom des
étudiants nés en 1980
SELECT Numetu, Nometu
FROM ETUDIANT
WHERE Dtnaiss>='1980-01-01' AND
Dtnaiss<='1980-12-31';
Conversion
des données et traitement des dates
Une date particulière doit être exprimé
sous la forme : aaaa-mm-jj. On peut la considérer soit :
- Comme une chaîne de caractères. Par
exemple '1998-06-25' ( le 25 juin 1998). On ne peut pas dans ce cas
faire de calcul mais on peut faire des comparaisons.
- Comme une date. Il faut alors utiliser la fonction de conversion de
données "CAST" et l'on peut alors faire des calculs.
Syntaxe de la fonction de transtypage CAST
:
CAST(<col> AS <Datatype>)
<col> : Nom de colonne ou valeur.
<Datatype> :
{Integer | Decimal | Char | Date | ...}
La notation :
'06-25-1998'-Dtnaiss n'est pas autorisée,
il faut donc utiliser
CAST('1998-06-25' AS Date)-Dtnaiss
La fonction CURRENT_DATE permet de
récupérer la date système.
Q03 : Nom des
étudiants de sexe féminin nés après 1980
Sommaire SQL
Clause
ORDER BY
Il est possible, grace à la clause ORDER
BY, d'ordonner les résultats d'une requête en fonction de la valeur de
certains attributs (colonnes).
- Afficher la liste des enseignants
par grade et par ordre alphabétique décroissant des noms.
SELECT Grade, Nomens
FROM ENSEIGNANT
ORDER BY Grade, Nomens DESC;
La requête précédente, qui utilise les noms
des colonnes, est équivalente à la requête suivante qui utilise les
numéros des colonnes qui servent à ordonner les résultats.
SELECT Grade, Nomens
FROM ENSEIGNANT
ORDER BY 1, 2 DESC;
|