|
SQL : les prédicats NULL, IN, LIKE,
BETWEEN
Prédicat NULL
Un attribut (une colonne,
un champ...) peut avoir la valeur "NULL" soit en raison
d'information incomplète (la valeur n'était pas connue
au moment de la saisie des données) soit parce que la donnée
n'est pas pertinente. Dans une table qui modélise des individus,
l'attribut "Nom Marital" n'est pas pertinent pour les
individus de sexe masculin et a donc la valeur "NULL".
La valeur "NULL" est différente de la valeur par
défaut de l'attribut : zéro pour un attribut de type
numérique et espace pour un attribut de type caractère.
La syntaxe est : IS
NULL et sa négation IS NOT NULL.
- Numéro,
nom et sexe des étudiants dont la date de naissance n'est
pas connue
SELECT Numetu, Nometu
FROM ETUDIANT
WHERE Dtnaiss IS NULL;
Prédicat
IN
Il comporte une liste
de valeurs et vérifie si une valeur particulière apparaît
sur cette liste.
La syntaxe est : IN(val1,
val2, ...) et sa négation NOT IN(val1, val2, ...).
Lorsque la liste des valeurs est connue et fixe, le prédicat
IN peut être remplacé par une suite d'opérateurs
logiques OR. Lorsque la liste des valeurs n'est pas connue
à priori, comme dans certaines sous-interrogations,
ce prédicat est nécessaire.
- Numéro
et nom des enseignants qui sont soit assistants (ASS) soit professeurs
(PR)
|
Version IN
|
Version OR
|
|
SELECT Numens, Nomens
FROM ENSEIGNANT
WHERE Grade IN('ASS', 'PR');
|
SELECT Numens, Nomens
FROM ENSEIGNANT
WHERE Grade='ASS'
OR Grade='PR';
|
Prédicat
LIKE
Ce prédicat permet
de faire des recherches à l'intérieur d'une chaîne
de caractères, lorsque l'on dispose d'informations incomplètes.
Il utilise 2 caractères génériques :
% : utilisé
pour représenter une chaîne de caractère de
longueur quelconque.
_ : utilisé pour représenter un caractère
unique.
La syntaxe est : LIKE
'Chaîne de recherche' et sa négation NOT LIKE 'Chaîne
de recherche'
- Nom et date de
naissance des étudiants dont la 2° lettre du nom est 'a'.
SELECT Nometu, Dtnaiss
FROM ETUDIANT
WHERE Nometu LIKE '_a%';
Sommaire
SQL
Q04
: Afficher le Nom des étudiants
de sexe féminin dont la première lettre du prénom
est un "J".
Sommaire SQL
Prédicat
BETWEEN
Il permet de comparer
la valeur d'un champ par rapport à une borne inférieure
et une borne supérieure (bornes incluses).
- Nom des matières
qui ont un coefficient compris entre 1 et 2.
SELECT Nomat
FROM MATIERE
WHERE Coeff BETWEEN 1 AND 2;
Ce prédicat, est
une simplication d'écriture et peut être remplacé
par :
SELECT Nomat
FROM MATIERE
WHERE (Coeff >=1) AND (Coeff<=2);
|