Tutoriel classi...SE CONNECTER
Tutoriel classique SQLite
auteur:php.cn  temps de mise à jour:2022-04-13 17:05:02

Clause SQLite où


La clause WHERE de SQLite est utilisée pour spécifier les conditions d'obtention des données d'une ou de plusieurs tables.

Si la condition donnée est remplie, c'est-à-dire vraie, renvoie une valeur spécifique du tableau. Vous pouvez utiliser la clause WHERE pour filtrer les enregistrements et obtenir uniquement ceux dont vous avez besoin.

La clause WHERE n'est pas seulement utilisée dans les instructions SELECT, elle peut également être utilisée dans les instructions UPDATE, DELETE, etc., que nous apprendrons dans les chapitres suivants.

Syntaxe

La syntaxe de base de l'instruction SELECT de SQLite avec la clause WHERE est la suivante :

SELECT column1, column2, columnN 
FROM table_name
WHERE [condition]

Exemple

Vous pouvez également utiliser Les opérateurs de comparaison ou logiques spécifient des conditions, telles que >, <, =, LIKE, NOT, etc. Supposons que la table COMPANY contient les enregistrements suivants : ----                                                                                                                                                                                                                        🎜>3 Teddy 23 20000.0

4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0

L'exemple suivant démontre l'utilisation des opérateurs logiques SQLite. L'instruction SELECT suivante répertorie tous les enregistrements dans lesquels AGE est supérieur ou égal à 25 et le salaire est supérieur ou égal à 65 000,00 :

sqlite> ;= 25 ET SALAIRE > ;= 65000;
ID                                                                                                                                               ---- ----------
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
L'instruction SELECT suivante répertorie AGE Supérieur ou égal à 25

ou Tous les enregistrements avec un salaire supérieur ou égal à 65 000,00 :

sqlite> ENTREPRISE O ÂGE>= 25 OU SALAIRE>= 65000;
ID Nom -------
1 Paul 32 Californie 20000.0
2 Allen 25 Texas 15000.0
4 Mark 25 Rich- Lundi 65000.0
5 David 27 Texas 85000.0

L'instruction SELECT suivante répertorie tous les enregistrements dont AGE n'est pas NULL. Le résultat affiche tous les enregistrements, ce qui signifie qu'aucun enregistrement n'a un AGE égal à NULL :

sqlite> L'ÂGE N'EST PAS NULL ;
ID NOM ÂGE ADRESSE SALAIRE
---------- ---------- ---------- ---- ------ ---- ------ ----------
1 Paul 32 Californie 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norvège 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0

L'instruction SELECT suivante répertorie tous les enregistrements dont le NOM commence par 'Ki'. Les caractères après 'Ki' ne sont pas restreints :

sqlite> ; ---- ----------
6 Kim 22 South-Hall 45000.0

L'instruction SELECT suivante répertorie tous les enregistrements dont le NOM commence par 'Ki', Le les caractères après 'ki' ne limitent pas les caractères :

SQLite & GT ; Select*from Company which name glob 'ki*' ---- ----------; ---------- ---------- ----------
6 Kim 22 South-Hall 45000.0


Le L'instruction SELECT suivante répertorie tous les enregistrements avec une valeur AGE de 25 ou 27 :
sqlite> SELECT * FROM COMPANY WHERE AGE IN ( 25, 27 );

ID                                                                                                                                                                                                                           ------ - ---------

2 Allen 25 Texas 15000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0

>                                                                                                                                                                                                                  ---------

1 Paul 32 Californie 20000.0

3 Teddy 23 Norvège 20000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0


L'instruction SELECT suivante répertorie tous les enregistrements dont la valeur AGE est comprise entre 25 et 27 :


sqlite> SELECT * FROM COMPANY WHERE AGE BETWEEN 25 AND 27 ADDRESS SALARY
----- ----- ---------- ---------- ---------- ----- -----
2 Allen 25 Texas 15000.0

4 Mark 25 Rich-Mond 65000.0

5 David 27 Texas 85000.0

L'instruction SELECT suivante utilise une sous-requête SQL. La sous-requête recherche tous les enregistrements avec des champs AGE dans SALARY > 65000. La clause WHERE suivante est utilisée avec l'opérateur EXISTS pour répertorier les AGE dans la requête externe qui existent dans Tous les enregistrements dans le résultats renvoyés par la sous-requête :

sqlite> SELECT AGE FROM COMPANY
WHERE EXISTS (SELECT AGE FROM COMPANY WHERE SALARY > 65000);
AGE
- ---- -----
32
25
23
25
27
22
24

L'instruction SELECT suivante utilise la sous-requête SQL. La sous-requête recherche tous les enregistrements avec le champ AGE qui sont SALARY > 65000. La clause WHERE suivante est utilisée avec l'opérateur > pour répertorier l'AGE dans la requête externe qui est supérieur aux résultats renvoyés par la sous-requête :

sqlite> SELECT * FROM COMPANY
WHERE AGE > (SELECT AGE FROM COMPANY WHERE SALARY > 65000);
ID NOM AGE ---------- ---------- ---------- ---------- ----------
1 Paul 32 Californie 20000.0