|
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>='01-01-1980' AND Dtnaiss<='12-31-1980';
Conversion
des données et traitement des dates
Une date particulière doit être exprimé sous
la forme Américaine : mm-jj-aaaa. On peut la considérer soit :
- Comme une chaîne de caractères. Par exemple '06-25-1998'
( 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('06-25-1998' 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;
|