4/1/2014
La combinaison des mots clés SELECT et FROM permet d'extraire des données d’une base ou de calculer de nouvelles données à partir de données existantes.
Voici la syntaxe générale d'une commande SELECT :
Les mots clef du SQL sont en gras. Après le mot clé SELECT, on trouve le * qui signifie que l'on récupère toutes les colonnes de la table. Après le FROM, on spécifie sur quelle table porte la reqête.
La casse (majuscule/minuscule) pour le nom des tables et des champs est importante. Vous n'avez pas besoin de mettre de guillemets autour des noms des tables si ceux-ci ne comportent pas de séparateurs ni de caractères accentués ou spéciaux.
Ecrire les requêtes suivantes:
La projection permet de faire une sélection sur les colonnes récupérées dans la table de résultat.
Il est possible d'utiliser les opérateurs mathématiques de base pour combiner différentes colonnes : par exemple, multiplier un prix en euros par un coefficient pour le convertir en dollars (SELECT PRIX*1,3388).
Lorsque le moteur construit la table réponse, il rapatrie toutes les lignes correspondantes dans l’ordre où il les trouve, même si ces dernières sont en double. Par exemple, si l'on recherche tous les prénoms dans la table des coureurs, le moteur récupère toutes les lignes et potentiellement plusieurs fois le même prénom. Pour éviter ce phénomène, il faut utiliser le mot clef DISTINCT placé après le SELECT pour éliminer les doublons (répétitions).
Formulez les requêtes suivantes en SQL :
Le mot clé WHERE permet de filtrer les données selon une condition. Cette condition doit être remplie pour que les lignes apparaissent dans la table résultat.
On peut combiner ces conditions avec un ET ou un OU.
Opérateurs utilisables dans les conditions : | |||
IN | pour rechercher dans une liste | tous les titres présents dans la liste Mme et Melle | WHERE TITRE IN ('Mme.', 'Melle.') |
BETWEEN | pour rechercher entre deux valeurs | tous les rangs entre 1 et 10 | WHERE RANG BETWEEN 1 AND 10 |
LIKE | pour vérifier qu'une chaine contient un caractère | tous les noms contenant 'DE' | WHERE "NOM" LIKE '%DE%' |
NOT | pour vérifier qu'une condition n'est pas vérifiée | tous les titres qui ne sont pas dans la liste Mme et Melle | WHERE TITRE NOT IN ('Mme.', 'Melle.') |
CASE | pour afficher le résultat d'un test | si le prix est supérieur à 100 écrire false sinon écrire true | CASE WHEN PRIX > 100 THEN 'False' ELSE 'True' END |
Formulez les requêtes suivantes en SQL :
Pour trier les données, on utilise l'instruction ORDER BY.
Formulez les requêtes suivantes en SQL :