Latest web development tutorials

opérateur SQLite

Qu'est-ce que l'opérateur SQLite est?

Opérateur est un mot ou un caractère réservé, la clause WHERE pour effectuer des opérations est principalement utilisé pour la déclaration SQLite, comme la comparaison et l'arithmétique.

Opérateur est utilisé pour spécifier l'instruction SQLite d'état et la connexion d'une pluralité de conditions dans la déclaration.

  • Les opérateurs arithmétiques

  • comparaison

  • opérateurs logiques

  • opérateurs sur les bits

SQLite opérateurs arithmétiques

Supposons que la variable a = 10, la variable b = 20, alors:

运算符描述实例
+加法 - 把运算符两边的值相加 a + b 将得到 30
-减法 - 左操作数减去右操作数 a - b 将得到 -10
*乘法 - 把运算符两边的值相乘 a * b 将得到 200
/除法 - 左操作数除以右操作数 b / a 将得到 2
%取模 - 左操作数除以右操作数后得到的余数 b % a will give 0

Exemples

Voici un exemple simple de SQLite opérateurs arithmétiques:

sqlite> ligne .mode
sqlite> sélectionnez 10 + 20;
10 + 20 = 30


sqlite> sélectionner 10 - 20;
10--20 = -10


sqlite> sélectionner 10 * 20;
10 * 20 = 200


sqlite> sélectionnez 10/5;
10/5 = 2


sqlite> sélectionnez 12% 5;
2 5 = 12%

comparaison SQLite

Supposons que la variable a = 10, la variable b = 20, alors:

运算符描述实例
==检查两个操作数的值是否相等,如果相等则条件为真。 (a == b) 不为真。
=检查两个操作数的值是否相等,如果相等则条件为真。 (a = b) 不为真。
!=检查两个操作数的值是否相等,如果不相等则条件为真。 (a != b) 为真。
<>检查两个操作数的值是否相等,如果不相等则条件为真。 (a <> b) 为真。
>检查左操作数的值是否大于右操作数的值,如果是则条件为真。 (a > b) 不为真。
<检查左操作数的值是否小于右操作数的值,如果是则条件为真。 (a < b) 为真。
>=检查左操作数的值是否大于等于右操作数的值,如果是则条件为真。 (a >= b) 不为真。
<=检查左操作数的值是否小于等于右操作数的值,如果是则条件为真。 (a <= b) 为真。
!<检查左操作数的值是否不小于右操作数的值,如果是则条件为真。 (a !< b) 为假。
!>检查左操作数的值是否不大于右操作数的值,如果是则条件为真。 (a !> b) 为真。

Exemples

Supposons que la table de l'entreprise a les documents suivants:

ID NOM ADRESSE AGE 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 Sud-Hall 45000,0
7 James 24 Houston 10000.0

L'exemple suivant illustre l'utilisation de diverses comparaisons SQLite.

Ici, nous utilisonsla clause WHERE,qui fera l'objet d'un chapitre distinct dans le dos, mais maintenant que vous devez comprendre, la clause WHERE de l'instruction SELECT est utilisée pour définir une instruction conditionnelle.

L'instruction SELECT suivante répertorie tous les enregistrements SALAIRE est supérieure à 50.000,00:

sqlite> SELECT * FROM COMPANY WHERE SALAIRE> 50000;
ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65000,0
5 David 27 Texas 85000,0

L'instruction SELECT suivante répertorie SALAIRE 20,000.00 égale à tous les enregistrements:

sqlite> SELECT * FROM COMPANY WHERE SALAIRE = 20000;
ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
1 Paul 32 Californie 20000.0
3 Teddy 23 Norvège 20000.0

L'instruction SELECT suivante répertorie le SALAIRE ne correspond pas à tous les enregistrements de 20,000.00:

! Sqlite> SELECT * FROM COMPANY WHERE SALAIRE = 20000;
ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000.0
4 Mark 25 Rich-Mond 65000,0
5 David 27 Texas 85000,0
6 Kim 22 Sud-Hall 45000,0
7 James 24 Houston 10000.0

L'instruction SELECT suivante répertorie le SALAIRE ne correspond pas à tous les enregistrements de 20,000.00:

sqlite> SELECT * FROM COMPANY OU SALAIRE <> 20000;
ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000.0
4 Mark 25 Rich-Mond 65000,0
5 David 27 Texas 85000,0
6 Kim 22 Sud-Hall 45000,0
7 James 24 Houston 10000.0

L'instruction SELECT suivante répertorie le SALAIRE est supérieure à la somme de tous les dossiers de 65,000.00:

sqlite> SELECT * FROM ENTREPRISE OU SALAIRE> = 65000;
ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65000,0
5 David 27 Texas 85000,0

opérateurs logiques SQLite

Voici une liste des opérateurs logiques SQLite tous.

运算符描述
ANDAND 运算符允许在一个 SQL 语句的 WHERE 子句中的多个条件的存在。
BETWEENBETWEEN 运算符用于在给定最小值和最大值范围内的一系列值中搜索值。
EXISTSEXISTS 运算符用于在满足一定条件的指定表中搜索行的存在。
ININ 运算符用于把某个值与一系列指定列表的值进行比较。
NOT ININ 运算符的对立面,用于把某个值与不在一系列指定列表的值进行比较。
LIKELIKE 运算符用于把某个值与使用通配符运算符的相似值进行比较。
GLOBGLOB 运算符用于把某个值与使用通配符运算符的相似值进行比较。GLOB 与 LIKE 不同之处在于,它是大小写敏感的。
NOTNOT 运算符是所用的逻辑运算符的对立面。比如 NOT EXISTS、NOT BETWEEN、NOT IN,等等。它是否定运算符。
OROR 运算符用于结合一个 SQL 语句的 WHERE 子句中的多个条件。
IS NULLNULL 运算符用于把某个值与 NULL 值进行比较。
ISIS 运算符与 = 相似。
IS NOTIS NOT 运算符与 != 相似。
||连接两个不同的字符串,得到一个新的字符串。
UNIQUEUNIQUE 运算符搜索指定表中的每一行,确保唯一性(无重复)。

Exemples

Supposons que la table de l'entreprise a les documents suivants:

ID NOM ADRESSE AGE 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 Sud-Hall 45000,0
7 James 24 Houston 10000.0

L'exemple suivant illustre l'utilisation des opérateurs logiques SQLite.

L'instruction SELECT suivante répertorie AGE 25et supérieur ou égal supérieur ou un salaire égal pour tous les enregistrements 65000.00:

sqlite> SELECT * FROM ENTREPRISE OU AGE> = 25 ET SALAIRE> = 65000;
ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65000,0
5 David 27 Texas 85000,0

L'instruction SELECT suivante répertorie AGE 25ou supérieur ou égal supérieur ou un salaire égal pour tous les enregistrements 65000.00:

sqlite> SELECT * FROM ENTREPRISE OU AGE> = 25 OU SALAIRE> = 65000;
ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
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

L'instruction SELECT suivante énumère les AGE ne sont pas NULL pour tous les enregistrements, tous les enregistrements ont montré, cela signifie qu'il n'y a aucune trace de AGE est égal à NULL:

sqlite> SELECT * FROM ENTREPRISE OU AGE IS NOT NULL;
ID NOM ADRESSE AGE 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 Sud-Hall 45000,0
7 James 24 Houston 10000.0

Caractère suivant SELECT listes d'instructions NAME 'Ki' tous les enregistrements ont commencé, 'Ki' est pas de limite après:

sqlite> SELECT * FROM COMPANY WHERE NAME LIKE 'Ki%';
ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
6 Kim 22 Sud-Hall 45000,0

Caractère suivant SELECT listes d'instructions NAME 'Ki' tous les enregistrements ont commencé, 'Ki' est pas de limite après:

sqlite> SELECT * FROM ENTREPRISE WHERE NAME GLOB 'Ki *';
ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
6 Kim 22 Sud-Hall 45000,0

L'instruction SELECT suivante répertorie toutes les valeurs de AGE records de 25 ou 27:

sqlite> SELECT * FROM ENTREPRISE OU ÂGE EN (25, 27);
ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
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 les valeurs AGE est ni 25, ni 27 de tous les records:

sqlite> SELECT * FROM COMPANY OU ÂGE NOT IN (25, 27);
ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
1 Paul 32 Californie 20000.0
3 Teddy 23 Norvège 20000.0
6 Kim 22 Sud-Hall 45000,0
7 James 24 Houston 10000.0

L'instruction SELECT suivante répertorie les valeurs AGE tous les enregistrements entre 25 et 27:

sqlite> SELECT * FROM ENTREPRISE OU ÂGE ENTRE 25 ET 27;
ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000.0
4 Mark 25 Rich-Mond 65000,0
5 David 27 Texas 85000,0

L'instruction SELECT suivante utilise des sous-requêtes SQL, sous_requête trouver SALAIRE> champ AGE pour tous les enregistrements avec 65.000, derrière la clause WHERE est utilisée en conjonction avec l'opérateur EXISTS, liste externe présence requête AGE dans les déclarations sous-requête les résultats de tous les records:

sqlite> AGE DE L'ENTREPRISE SELECT 
        WHERE EXISTS (SELECT AGE DE LA SOCIÉTÉ OU SALAIRE> 65000);
AGE
----------
32
25
23
25
27
22
24

L'instruction SELECT suivante utilise des sous-requêtes SQL, sous_requête trouver SALAIRE> champ AGE pour tous les enregistrements avec 65.000, derrière la clause WHERE et> les opérateurs sont utilisés ensemble, les résultats de la requête renvoie une liste de la requête externe est supérieure à la sous-AGE Tous les dossiers de l'âge:

sqlite> SELECT * FROM COMPANY 
        OÙ AGE> (SELECT AGE DE LA SOCIÉTÉ OU SALAIRE> 65000);
ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
1 Paul 32 Californie 20000.0

Opérateurs sur les bits SQLite

Opérateurs binaires agissant sur le bit et bit par opération binaire. Table de vérité & et | comme suit:

pqp & qp | q
0000
0101
1111
1001

Supposons que si A = 60, B = 13 et maintenant dans un format binaire, qui est le suivant:

A = 0011 1100

B = 0000 1101

-----------------

A & B = 0000 1100

A | B = 0011 1101

~ A = 1100 0011

Le tableau suivant répertorie les langues prises en charge par les opérateurs de bits SQLite. Supposons que la variable A = 60, la variable B = 13, alors:

运算符描述实例
&如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。 (A & B) 将得到 12,即为 0000 1100
|如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。 (A | B) 将得到 61,即为 0011 1101
~二进制补码运算符是一元运算符,具有"翻转"位效应。 (~A ) 将得到 -61,即为 1100 0011,2 的补码形式,带符号的二进制数。
<<二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 A << 2 将得到 240,即为 1111 0000
>> 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 A >> 2 将得到 15,即为 0000 1111

Exemples

L'exemple suivant illustre l'utilisation de bits SQLite:

sqlite> ligne .mode
sqlite> sélectionner 60 | 13;
60 | 13 = 61

sqlite> sélectionner 60 et 13;
60 & 13 = 12

sqlite> sélectionner 60 ^ 13;
10 * 20 = 200


sqlite> select (~ 60);
(~ 60) = -61

sqlite> sélectionner (60 << 2);
(2 << 60) = 240

sqlite> select (60 >> 2);
(60 >> 2) = 15