Interrogation des données (SELECT FROM WHERE)
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.
Objectif
Savoir récupérer des données dans une table.
Mise en situation
Supposez que vous gériez une libraire, et qu'un client vous demande de consulter tous les ouvrages d'Isaac Asimov que vous avez en stock.
Or, vous gérez des dizaines de milliers d'ouvrages, et il serait très fastidieux de rechercher à la main tous les livres écrits par Asimov.
Heureusement, SQL fournit les outils pour consulter les données d'une table en fonction d'un ou plusieurs critères, comme l'égalité d'un mot ou la supériorité d'un nombre.
Définition : Sélection
Une sélection est un type de requête du langage de manipulation de données de SQL.
Elle permet de consulter les données présentes dans les tables d'une base de données.
Syntaxe : SELECT — FROM — WHERE
Une sélection se décompose comme :
SELECT <liste d attributs projetés>
FROM <liste des tables>
WHERE <condition de la restriction>;
La partie
SELECT
indique le sous-ensemble des attributs qui doivent apparaître dans la réponse.La partie
FROM
décrit les tables qui sont utilisables dans la requête (c'est-à-dire l'ensemble des attributs que l'on peut utiliser).La partie
WHERE
exprime les conditions logiques que doivent respecter les attributs d'un enregistrement pour pouvoir être dans la réponse. Cette partie est optionnelle.
Exemple :
Si on dispose de la table suivante contenant les informations de personnes :
CREATE TABLE personne (
nom VARCHAR(50),
prenom VARCHAR(50),
age DECIMAL
);
On peut sélectionner les nom et prénom des personnes majeures ainsi :
SELECT nom, prenom
FROM personne
WHERE age > 18;
Cette requête sélectionne les attributs nom
et prenom
des tuples de la relation personne
, ayant un attribut age
supérieur à 18.
Syntaxe : Notation préfixée
Afin de décrire un attribut d'une relation en particulier (dans le cas d'une requête portant sur plusieurs relations notamment), on utilise la notation relation.attribut
.
Exemple :
SELECT personne.nom, personne.prenom, vol.depart
FROM personne, vol
WHERE personne.vol=vol.numero;
Syntaxe : SELECT *
Pour projeter l'ensemble des attributs d'une relation, on peut utiliser le caractère *
à la place de la liste des attributs à projeter.
Exemple :
SELECT *
FROM avion;
Cette requête sélectionne tous les attributs de la relation Avion
.
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.