8.4.3 Requête d'état

un, où

WHERE 列名 <比较运算符> 常量或列名

Opérateurs de comparaison couramment utilisés :

opérateur signification
=, >,<,>=,<=, !=,> Comparaison de taille
ET, OU, PAS Conditions multiples
DANS Déterminer l'ensemble
ENTRE ET Déterminer la portée
EST NULL valeur vide
COMME correspondance de caractère

1. Comparez la taille

Priorité : NOT, AND, OR
peuvent utiliser des parenthèses pour changer la priorité

[Exemple 8-18] Recherchez le numéro d'étudiant, le numéro de classe et les notes des étudiants dont les scores sont supérieurs à 90.

SELECT*
FROM sC
WHERE Grade>90;

[Exemple 8-19] Interrogez l'ID étudiant et les notes des étudiants dont les notes sont en [70.80].

SELECT Sno,Grade
FROM sC
WHERE Grade>=70 and Grade<=80;

[Exemple] Interrogez le numéro d'étudiant, le numéro de cours et les notes du cours optionnel C1 ou C2 et le score est supérieur ou égal à 80 points.

SELECT Sno,Cno,gradeFROM sc
WHERE (Cno='C1' OR Cno='C2') AND grade>=80;
#或者
WHERE Cno='C1' AND grade>=80
OR Cno='C2'AND grade>=80

2. Requête avec IN

IN et NOT IN
[Exemple 8-20] Recherchez le numéro d'étudiant et le numéro de classe de la classe C1, C2 ou C3.

SELECT Sno,Cno
FROM sc
WHERE Cno IN('C1, 'C2', 'C3') ;

3. Déterminer la portée (entre et)

[Exemple 8-21] Interrogez (包括75和80)le numéro d'étudiant, le numéro de classe et les notes des étudiants dont les notes sont comprises entre 75 et 80 points.

SELECT Sno,Cno,Grade
FROM Sc
WHERE Grade BETWEEN 75 AND 80;
或者不在此范围 NOT BETWEEN 75 AND 80

4. Requête nulle (IS NULL ou IS NOT NULL)

Utilisez le prédicat IS NULL ou IS NOT NULL
注意“IS NULL”不能用“= NULL”代替。
[Exemple 8-24] pour rechercher le numéro d'étudiant et le numéro de programme des étudiants qui n'ont pas passé l'examen après la sélection du cours.

SELECT Sno,Cno
FROM sc
WHERE Grade IS NULL;

5. Correspondance de chaîne

Format :
nom d'attribut LIKE '<chaîne correspondante>'
nom d'attribut NOT LIKE '<chaîne correspondante>'

<chaîne correspondante> = caractère constant + joker deux types de jokers :
% : représente 任意长度une chaîne (la longueur peut être 0)
_ : représente n'importe quel 单个caractère

[Exemple] Interrogez les informations sur l'étudiant dans la table S dont le nom de famille est Li et dont le nom est composé de trois caractères.

SELECT *
FROM Stu
WHERE Sname LIKE '李__';

[Exemple 8-26] Interrogez les informations de tous les étudiants nommés Li dans la table des étudiants Stu.

SELECT *
FROM Stu
WHERESname LIKE '李%';

[Supplémentaire] Interrogez le numéro d'étudiant et le nom de l'étudiant avec "Mei" dans le nom.

SELECT Sno,Sname
FROM Stu
WHERE Sname LIKE '%梅%';

[Supplémentaire] Interroger le numéro d'étudiant et le nom de l'étudiant dont le deuxième caractère est "Mei"

SELECT Sno,Sname
FROM Stu
WHERE Sname LIKE '_梅%';

6. Définir le caractère d'échappement

ESCAPE'<caractère d'échappement>'
tel que : ESCAPE '/'
[Supplémentaire] Interroge le numéro du cours, le nom du cours et les crédits dont le nom du cours commence par 'DB_'.

SELECT Cno, Cname, Ccredit
FROM C
WHERE Cname LIKE 'DB/_%'
ESCAPE '/';

Je suppose que tu aimes

Origine blog.csdn.net/qq_25887493/article/details/124081436
conseillé
Classement