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%';
Tester les exemples
Q04 : Afficher le Nom des étudiants de sexe féminin dont la première lettre du prénom est un "J".
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 simplification d'écriture et peut être remplacé par :
SELECT Nomat FROM MATIERE WHERE (Coeff >=1) AND (Coeff<=2);
Tester les exemples