Latest web development tutorials

operatore SQLite

Quale operatore SQLite è?

Operatore è una parola riservata o un carattere, clausola WHERE per eseguire le operazioni viene utilizzato principalmente per la dichiarazione SQLite, quali il confronto e l'aritmetica.

Operatore viene utilizzato per specificare l'istruzione SQLite di condizioni e di collegamento di una pluralità di condizioni nella dichiarazione.

  • Gli operatori aritmetici

  • confronto

  • Operatori logici

  • operatori bit per bit

operatori aritmetici SQLite

Supponiamo variabile a = 10, la variabile b = 20, quindi:

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

Esempi

Ecco un semplice esempio di operatori aritmetici SQLite:

sqlite> Linea .mode
sqlite> selezionare 10 + 20;
10 + 20 = 30


sqlite> selezionare 10-20;
10--20 = -10


sqlite> selezionare 10 * 20;
10 * 20 = 200


sqlite> selezionare 10/5;
10/5 = 2


sqlite> selezionare il 12% 5;
2 5 = 12%

confronto SQLite

Supponiamo variabile a = 10, la variabile b = 20, quindi:

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

Esempi

tavolo COMPANY Supponiamo che ha i seguenti documenti:

NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norvegia 20000.0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 Sud-Hall 45.000,0
7 James 24 Houston 10000.0

L'esempio seguente mostra l'uso di vari confronto SQLite.

Qui, si usala clausola WHERE,che sarà coperto in un capitolo a parte nella parte posteriore, ma ora è necessario capire, la clausola WHERE dell'istruzione SELECT viene utilizzato per impostare un'istruzione condizionale.

La seguente istruzione SELECT elenca tutto lo stipendio record è maggiore di 50.000,00:

sqlite> SELECT * FROM AZIENDA DOVE STIPENDIO> 50000;
NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

La seguente istruzione SELECT elenca STIPENDIO 20.000,00 pari a tutti i record:

sqlite> SELECT * FROM AZIENDA DOVE STIPENDIO = 20000;
NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
3 Teddy 23 Norvegia 20000.0

La seguente istruzione SELECT elenca lo stipendio non è uguale a tutti i record di 20.000,00:

! Sqlite> SELECT * FROM AZIENDA DOVE STIPENDIO = 20000;
NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000.0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 Sud-Hall 45.000,0
7 James 24 Houston 10000.0

La seguente istruzione SELECT elenca lo stipendio non è uguale a tutti i record di 20.000,00:

sqlite> SELECT * FROM AZIENDA DOVE STIPENDIO <> 20000;
NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000.0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 Sud-Hall 45.000,0
7 James 24 Houston 10000.0

La seguente istruzione SELECT elenca lo stipendio è maggiore della somma di tutti i record di 65.000,00:

sqlite> SELECT * FROM AZIENDA DOVE STIPENDIO> = 65000;
NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

operatori logici SQLite

Ecco un elenco degli operatori logici SQLite tutti.

运算符描述
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 运算符搜索指定表中的每一行,确保唯一性(无重复)。

Esempi

tavolo COMPANY Supponiamo che ha i seguenti documenti:

NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norvegia 20000.0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 Sud-Hall 45.000,0
7 James 24 Houston 10000.0

L'esempio seguente mostra l'utilizzo di operatori logici SQLite.

La seguente istruzione SELECT elenca AGE 25e maggiore o uguale maggiore o uguale salario per tutti i record 65000.00:

sqlite> SELECT * FROM AZIENDA in cui l'età> = 25 E STIPENDIO> = 65000;
NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

La seguente istruzione SELECT elenca ETÀ 25o maggiore o uguale maggiore o uguale salario per tutti i record 65000.00:

sqlite> SELECT * FROM AZIENDA in cui l'età> = 25 o stipendio> = 65000;
NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

La seguente istruzione SELECT elenca le età non è NULL per tutti i record, tutti i record hanno mostrato, significa che non vi è alcuna traccia di età è pari a NULL:

sqlite> SELECT * FROM AZIENDA DOVE L'età non è NULL;
NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norvegia 20000.0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 Sud-Hall 45.000,0
7 James 24 Houston 10000.0

Carattere seguente SELEZIONA lista istruzioni nome in 'Ki' tutti i record è iniziata, 'Ki' è alcun limite dopo:

sqlite> SELECT * FROM AZIENDA DOVE nome simile a 'Ki%';
NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
6 Kim 22 Sud-Hall 45.000,0

Carattere seguente SELEZIONA lista istruzioni nome in 'Ki' tutti i record è iniziata, 'Ki' è alcun limite dopo:

sqlite> SELECT * FROM WHERE NOME AZIENDA GLOB 'Ki *';
NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
6 Kim 22 Sud-Hall 45.000,0

La seguente istruzione SELECT elenca tutto il valore AGE record di 25 o 27:

sqlite> SELECT * FROM AZIENDA DOVE ETÀ IN (25, 27);
NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000.0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

L'istruzione SELECT elenca i valori di età è né 25 né 27 di tutti i record:

sqlite> SELECT * FROM AZIENDA DOVE età non IN (25, 27);
NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
3 Teddy 23 Norvegia 20000.0
6 Kim 22 Sud-Hall 45.000,0
7 James 24 Houston 10000.0

La seguente istruzione SELECT elenca i valori AGE tutti i record tra i 25 e 27:

sqlite> SELECT * FROM AZIENDA DOVE età compresa tra i 25 e 27;
NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000.0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

La seguente istruzione SELECT utilizza sottoquery SQL, subquery STIPENDIO ritrovamento> campo AGE per tutti i record con 65.000, dietro la clausola WHERE viene utilizzato in combinazione con l'operatore esiste, elenca esterno presenza di query AGE nei rendimenti sottoquery i risultati di tutti i record:

sqlite> SELEZIONA ETÀ DA AZIENDA 
        Dove esiste (SELECT età da AZIENDA DOVE STIPENDIO> 65000);
ETA '
----------
32
25
23
25
27
22
24

La seguente istruzione SELECT utilizza sottoquery SQL, subquery ritrovamento STIPENDIO> campo AGE per tutti i record con 65.000, dietro la clausola WHERE e> gli operatori sono utilizzati insieme, i risultati della query restituisce un elenco di query esterna è maggiore del sub-AGE tutti i record dell'epoca:

sqlite> SELECT * FROM COMPANY 
        In cui l'età> (SELECT età da AZIENDA DOVE STIPENDIO> 65000);
NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0

SQLite Operatori bit a bit

operatori bit a bit che agiscono sul bit, e poco a funzionamento bit. tavolo Truth & e | come segue:

pqp & qp | q
0000
0101
1111
1001

Supponiamo che se A = 60 e B = 13, ora in formato binario, che è la seguente:

A = 0011 1100

B = 0000 1101

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

A & B = 0000 1100

A | B = 0011 1101

~ A = 1100 0011

La seguente tabella elenca le lingue supportate dagli operatori bit SQLite. Supponiamo che la variabile A = 60, la variabile B = 13, quindi:

运算符描述实例
&如果同时存在于两个操作数中,二进制 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

Esempi

L'esempio seguente mostra l'utilizzo bit a bit SQLite:

sqlite> Linea .mode
sqlite> selezionare 60 | 13;
60 | 13 = 61

sqlite> selezionare 60 e 13;
60 e 13 = 12

sqlite> selezionare 60 ^ 13;
10 * 20 = 200


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

sqlite> selezionare (60 << 2);
(2 << 60) = 240

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