SQL : Les clauses associer à Where (Opérateurs de Where)

Pour faire des conditions où des critères afin de filtrer les recherches on utilise la clause Where avec d’autres
clauses comme les opérateurs de conditions (>, <,=,  <>,=<,=>,=!) des jointures, des clauses IN et NOT IN, NULL et IS NOT NULL, BETWEEN et NOT BETWEEN, clause LIKE

Pour exprimer les conditions dans la clause where, on dispose de certains opérateurs :

Pour faire de filtre des champs numériques on utilise :
Ø  Opérateurs  de  Conditions (>,  <,=,   <>,=<, =>,=!) pour  les  comparaisons  des  champs numériques :
Syntaxe : Select Champ1, champs2 ….
From listes_des_tables
Where ChampX < valeur_numérique
Exemple : Afficher les salaires qui coutent moins que 10000 DH Select salaire
From ouvrier
Where salaire < 10000
Ø  BETWEEN : Donne les valeurs qui existent entre deux valeurs numériques
Syntaxe : Select Champ1, champs2 ….
From listes_des_tables
Where ChampX Between valeur_numérique1 And valeur_numérique2
Exemple : Afficher les salaires qui coutent entre 10000 et 20000
Select salaire
From Ouvrier
Where salaire Between 10000 And 20000

Pour faire de filtre des champs chaines de caractères (aussi numériques) on utilise :
Ø   IS NULL et IS NOT NULL : testent si un attribut possède où non une valeur

Syntaxe1 : Select Champ1, champs2 ….
From listes_des_tables
Where ChampX Is Null







Syntaxe2 : Select Champ1, champs2 ….
From listes_des_tables
Where ChampX Is not Null

Exemple1: Afficher les noms des ouvriers qui nont pas de remise
Select nom
From Ouvrier
Where remise Is Null
Exemple2: Afficher les noms des ouvriers qui ont de remise

Select nom
From Ouvrier
Where remise Is Not Null
Ø  LIKE : suivi dune expression repsentant un ensemble de valeurs. Dans ces expressions % désigne un ensemble de caracres, _ remplace une lettre, utilisée pour chercher des résultats qui ont une forme décriture précise.
Syntaxe1 : Select Champ1, champs2 ….
From listes_des_tables
Where ChampX LIKE ‘%partie_de_chaine%’
Syntaxe2 : Select Champ1, champs2 ….
From listes_des_tables
Where ChampX LIKE ‘_partie_de_chaine%
Syntaxe3 : Select Champ1, champs2 ….
From listes_des_tables
Where ChampX LIKE [0-1]partie_de_chaine [a-g]’
Syntaxe4 : Select Champ1, champs2 ….
From listes_des_tables
Where ChampX LIKE [0-5-1]partie_de_chaine [a-x-g]’
Syntaxe5 : Select Champ1, champs2 ….
From listes_des_tables
Where ChampX LIKE [1, 2]partie_de_chaine [1,5]’
observation:
% : Remplace une chaine de caractères
_ : Remplace un seul caracre
[X-Y] : Remplace un seul caracre par une valeur qui est entre X et Y
Exemple : [2-5] remplace par tout nombre entre 2 et 5 ça veut dire (2, 3, 4,5) [a-g] remplace par tout lettre entre a et g ça veut dire (a, b, c.g)
[X, Y] : Remplace un seul caracre par l’un des deux valeurs séparés par le virgule Soit X Y, il est difrente de [X-Y], celle-ci contient un virgule à la place du tiret, et ils nont pas le même rôle celle avec un tiret [X-Y] remplace un caracre qui appartient à l’intervalle entre X et Y, et celle avec un virgule [X, Y] remplace par lun des deux caractères seulement X où Y.
Exemple : [2, 5] remplace soit par 2 où 5.
[X-Y-B] : Remplace l’une des valeurs de la liste soit X, Y où B
Exemple : [3-9-2] Remplace par l’une des valeurs dans la liste 3, 9 où 2







Les crochets ‘…. sont obligatoires aps la clause like
Exemple1: Afficher les noms des clients qui contient la chaine de caracre  suivanteitlamsal’
Select nom
From Client
Where nom like % itlamsal %’
Exemple2 Afficher tous les noms des clients qui commencent par a
Select nom
From Client
Where nom like a %’
Exemple3 Afficher tous les noms des clients dont le deuxième lettre est ‘d’
Select nom
From Client
Where nom like ‘_d %
Exemple4 Afficher tous les noms des clients dont lavant dernier lettre et f’
Select nom
From Client
Where nom like % f _’
Exemple5 Afficher tous les noms des clients dont l’avant dernier lettre et f et la deuxième lettre et g
Select nom
From Client
Where nom like _ g % f _’
Exemple6 Afficher tous les noms des clients dont l’avant dernier lettre et f et la deuxième lettre
et g
Select nom
From Client
Where nom like _ g % f _’
Exemple7 Afficher tous les noms des clients dont le deuxième lettre soit c, d, g f et le dernier
lettre entre l’intervalle d et m
Select nom
From Client
Where nom like _ [c-d-g-f] % [d-m]
Exemple8 Afficher tous les noms des clients dont le deuxième lettre soit c d et l’avant dernier lettre entre l’intervalle c et g
Select nom
From Client
Where nom like ‘_ [c, d] % [d-m] _

Aucun commentaire:

Enregistrer un commentaire