English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Préfixe WHERE SQLite

SQLite WHERELa clause est utilisée pour spécifier les conditions lors de la récupération de données à partir d'une ou plusieurs tables.

Si les conditions données sont satisfaites, c'est-à-dire true, alors elle renverra les valeurs spécifiques de la table. Vous devrez utiliser la clause WHERE pour filtrer les enregistrements et extraire uniquement les enregistrements nécessaires.

La clause WHERE est utilisée non seulement dans les requêtes SELECT, mais aussi dans les requêtes UPDATE, DELETE, etc., ce qui sera présenté dans les chapitres suivants.

Syntaxe

Voici la syntaxe de base d'une requête SELECT SQLite avec la clause WHERE.

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

Exemple en ligne

Vous pouvez utiliserLes opérateurs de comparaison ou les opérateurs logiques (Par exemple >, <, =, LIKE, NOT, etc.) pour spécifier les conditions. Regardez la table COMPANY suivante avec les enregistrements suivants-

ID          NOM        ÂGE         ADRESSE     SALAIRES
----------  ----------  ----------  ----------  ----------
1           Paul        32          Californie  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      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

Voici un exemple simple de l'utilisation des opérateurs logiques SQLite. La requête SELECT suivante liste les AGE (âge) supérieurs ou égaux à25 et SALARY (salaire) supérieurs ou égaux à65000.00 tous les enregistrements.

sqlite> SÉLECT * FROM COMPANY WHERE AGE >= 25 ET SALARY >= 65000;
ID          NOM        ÂGE         ADRESSE     SALAIRES
----------  ----------  ----------  ----------  ----------
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

La requête SELECT suivante liste les AGE (âge) supérieurs ou égaux à25 OU SALARY (salaire) est supérieur ou égal65000.00 tous les enregistrements.

sqlite> SÉLECT * FROM COMPANY WHERE AGE >= 25 OU SALARY >= 65000;
ID          NOM        ÂGE         ADRESSE     SALAIRES
----------  ----------  ----------  ----------  ----------
1           Paul        32          Californie  20000.0
2           Allen       25          Texas       15000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

Immédiatement après la requête SELECT, les enregistrements où l'AGE (âge) n'est pas NULL sont répertoriés, ce qui signifie que tous les enregistrements seront affichés, car la valeur de l'AGE dans aucun enregistrement n'est égale à NULL.

sqlite> SELECT * FROM COMPANY WHERE AGE IS NOT NULL;
ID          NOM        ÂGE         ADRESSE     SALAIRES
----------  ----------  ----------  ----------  ----------
1           Paul        32          Californie  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      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

La requête SELECT suivante répertorie tous les enregistrements dont le nom commence par 'Ki', sans rapport avec n'importe quel enregistrement suivant 'Ki'.

sqlite> SÉLECT * FROM COMPANY WHERE NAME LIKE 'Ki%';
ID          NOM        ÂGE         ADRESSE     SALAIRES
----------  ----------  ----------  ----------  ----------
6           Kim         22          South-Hall  45000.0

La requête SELECT suivante répertorie tous les enregistrements dont le nom commence par 'Ki', sans rapport avec les enregistrements suivant 'Ki'.

sqlite> SÉLECT * FROM COMPANY WHERE NAME GLOB 'Ki*';
ID          NOM        ÂGE         ADRESSE     SALAIRES
----------  ----------  ----------  ----------  ----------
6           Kim         22          South-Hall  45000.0

Après la requête SELECT, les valeurs AGE (âge) sont répertoriées en25OU27tous les enregistrements.

sqlite> SÉLECT * FROM COMPANY WHERE AGE IN ( 25, 27 );
ID          NOM        ÂGE         ADRESSE     SALAIRES
----------  ----------  ----------  ----------  ----------
2           Allen       25          Texas       15000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

La requête SELECT suivante répertorie les valeurs AGE (âge) qui ne sont ni25NI27tous les enregistrements.

sqlite> SÉLECT * FROM COMPANY WHERE AGE NOT IN ( 25, 27 );
ID          NOM        ÂGE         ADRESSE     SALAIRES
----------  ----------  ----------  ----------  ----------
1           Paul        32          Californie  20000.0
3           Teddy       23          Norway      20000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Après la requête SELECT, les valeurs AGE (âge) sont répertoriées en25ET27tous les enregistrements.

sqlite> SÉLECT * FROM COMPANY WHERE AGE BETWEEN 25 AND 27;
ID          NOM        ÂGE         ADRESSE     SALAIRES
----------  ----------  ----------  ----------  ----------
2           Allen       25          Texas       15000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

La requête SELECT suivante utilise une sous-requête SQL, où la sous-requête recherche SALARY > 65Tous les enregistrements de la table 000, suivis de la clause WHERE utilisant l'opérateur EXISTS pour lister les enregistrements externes où l'AGE existe dans les résultats de 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

La requête SELECT suivante utilise une sous-requête SQL, où la sous-requête recherche SALARY > 65Tous les enregistrements de la table 000, ainsi que les enregistrements externes listés avec l'opérateur > dans la clause WHERE, indiquent les enregistrements où l'AGE est supérieur au résultat de la sous-requête renvoyant l'AGE.

sqlite> SÉLECT * FROM COMPANY 
   Où AGE > (SÉLECT AGE FROM COMPANY Où SALARY > 65000);
ID          NOM        ÂGE         ADRESSE     SALAIRES
----------  ----------  ----------  ----------  ----------
1           Paul        32          Californie  20000.0