Restriction (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 filtrer les résultats d'une requête de sélection selon un ou plusieurs critères.
Mise en situation
SQL permet de récupérer tous les enregistrements d'une table qui répondent à une ou plusieurs conditions, comme l'égalité d'un attribut avec une constante.
Mais il y a des cas où ces conditions sont plus subtiles. Dans une table qui stocke des articles et leurs prix, il pourrait être utile de récupérer les articles dans une certaine tranche de prix, entre 5 et 10 € par exemple.
Dans cette même table, pour récupérer tous les écrans d'ordinateurs, on voudrait pouvoir faire une recherche approximative sur le nom des articles, pour récupérer tous ceux qui contiennent le mot « écran »
.
SQL fournit des opérateurs permettant de réaliser ces comparaisons plus fines.
Définition : Restriction
Une restriction est un type de sélection où l'on se restreint à des enregistrements dont les attributs vérifient une ou plusieurs conditions.
Syntaxe : Clause WHERE
SELECT *
FROM R
WHERE <condition>
Exemple :

Ici on se restreint à des enregistrements de la table R1 dont l'attribut « C »
est inférieur strictement à 20.
Introduction
La clause WHERE
d'une instruction de sélection est définie par une condition. Une telle condition s'exprime à l'aide d'opérateurs de comparaison et d'opérateurs logiques. Le résultat d'une expression de condition est toujours un booléen.
Définition : Condition
Condition Elémentaire ::= Attribut <Opérateur de comparaison> Constante
Condition ::= Condition <Opérateur logique> Condition | Condition Elémentaire
Syntaxe : Opérateurs de comparaison
Les opérateurs de comparaison sont, avec attribut A
et constante C
:
A = C
A <> C
(différence)A < C
A > C
A <= C
A >= C
P BETWEEN C1 AND C2
P IN (C1, C2, ...)
P LIKE 'chaîne'
P IS NULL
Syntaxe : Opérateurs logiques
Les opérateurs logiques sont :
OR
AND
NOT
Remarque : Opérateur LIKE
L'opérateur LIKE
'chaîne'
permet d'insérer des jokers dans l'opération de comparaison (alors que l'opérateur =
teste une égalité stricte) :
Le joker
%
désigne 0 ou plusieurs caractères quelconques.Le joker
_
désigne 1 et 1 seul caractère.
On préférera l'opérateur =
à l'opérateur LIKE
lorsque la comparaison n'utilise pas de joker.
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.