SQLite - Opérateurs logiques

Exemple

Considérez la table COMPANY avec les enregistrements suivants -

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  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 des exemples simples montrant l'utilisation des opérateurs logiques SQLite. L'instruction SELECT suivante répertorie tous les enregistrements où AGE est supérieur ou égal à 25 et le salaire est supérieur ou égal à 65 000,00.

sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000;

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

L'instruction SELECT suivante répertorie tous les enregistrements où AGE est supérieur ou égal à 25 OR le salaire est supérieur ou égal à 65000,00.

sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000;

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

L'instruction SELECT suivante répertorie tous les enregistrements où AGE n'est pas NULL, ce qui signifie tous les enregistrements car aucun de l'enregistrement n'a AGE égal à NULL.

sqlite>  SELECT * FROM COMPANY WHERE AGE IS NOT NULL;

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  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

L'instruction SELECT suivante répertorie tous les enregistrements où NAME commence par «Ki», peu importe ce qui vient après «Ki».

sqlite> SELECT * FROM COMPANY WHERE NAME LIKE 'Ki%';

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
6           Kim         22          South-Hall  45000.0

L'instruction SELECT suivante répertorie tous les enregistrements où NAME commence par «Ki», peu importe ce qui vient après «Ki».

sqlite> SELECT * FROM COMPANY WHERE NAME GLOB 'Ki*';

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
6           Kim         22          South-Hall  45000.0

L'instruction SELECT suivante répertorie tous les enregistrements où la valeur AGE est 25 ou 27.

sqlite> SELECT * FROM COMPANY WHERE AGE IN ( 25, 27 );

ID          NAME        AGE         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 répertorie tous les enregistrements où la valeur AGE n'est ni 25 ni 27.

sqlite> SELECT * FROM COMPANY WHERE AGE NOT IN ( 25, 27 );

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
3           Teddy       23          Norway      20000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

L'instruction SELECT suivante répertorie tous les enregistrements où la valeur AGE est comprise entre 25 ET 27.

sqlite> SELECT * FROM COMPANY WHERE AGE BETWEEN 25 AND 27;

ID          NAME        AGE         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 la sous-requête SQL où la sous-requête trouve tous les enregistrements avec le champ AGE ayant SALARY> 65000 et les versions ultérieures La clause WHERE est utilisée avec l'opérateur EXISTS pour répertorier tous les enregistrements où AGE de la requête externe existe dans le résultat renvoyé 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 où la sous-requête trouve tous les enregistrements avec un champ AGE ayant SALARY> 65000 et les versions ultérieures La clause WHERE est utilisée avec l'opérateur> pour répertorier tous les enregistrements où AGE de la requête externe est supérieur à la age dans le résultat renvoyé par la sous-requête.

sqlite> SELECT * FROM COMPANY 
   WHERE AGE > (SELECT AGE FROM COMPANY WHERE SALARY > 65000);

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0