Latest web development tutorials

operator SQLite

Jaki operator SQLite jest?

Operator jest zarezerwowanym słowem lub postaci, WHERE do wykonywania operacji wykorzystywany jest głównie do SQLite oświadczeniem, takich jak porównania i arytmetyki.

Operator jest używany do określenia SQLite oświadczenie o stanie i łączenia wielu warunków w oświadczeniu.

  • operatory arytmetyczne

  • porównanie

  • Operatory logiczne

  • Operatory bitowe

SQLite arytmetyczne operatory

Załóżmy, że zmienna a = 10, b = 20 zmiennej, a następnie:

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

Przykłady

Oto prosty przykład SQLite operatorów arytmetycznych:

sqlite> Linia .mode
sqlite> select 10 + 20;
10 + 20 = 30


sqlite> select 10 - 20;
10--20 = -10


sqlite> select 10 * 20;
10 x 20 = 200


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


sqlite> select 12% 5;
2 5 = 12%

porównanie SQLite

Załóżmy, że zmienna a = 10, b = 20 zmiennej, a następnie:

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

Przykłady

Załóżmy, że stół Spółka posiada następujące zapisy:

NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
1 Paweł 32 California 20000,0
2 Allen 25 Texas 15000,0
3 Teddy 23 Norwegia 20000,0
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0
6 Kim 22 South-Hall 45000,0
7 James 24 Houston 10000,0

Poniższy przykład ilustruje użycie różnych SQLite porównania.

Tu używamyklauzuli WHERE, które zostaną omówione w osobnym rozdziale w plecy, ale teraz trzeba zrozumieć, klauzula WHERE instrukcji SELECT służy do ustawiania warunkową deklarację.

Poniższa instrukcja SELECT wymienia wszystkie rekordy wynagrodzenia jest większa niż 50.000,00:

sqlite> SELECT * FROM firma Gdzie Pensja> 50000;
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0

Poniższy list SELECT się wynagrodzenie w wysokości 20.000,00 wszystkie rekordy:

sqlite> SELECT * FROM firma Gdzie Pensja = 20000;
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
1 Paweł 32 California 20000,0
3 Teddy 23 Norwegia 20000,0

Poniższy list SELECT pensja nie jest równe dla wszystkich zapisów 20,000.00:

! Sqlite> SELECT * FROM firma Gdzie Pensja = 20000;
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000,0
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0
6 Kim 22 South-Hall 45000,0
7 James 24 Houston 10000,0

Poniższy list SELECT pensja nie jest równe dla wszystkich zapisów 20,000.00:

sqlite> SELECT * FROM firma Gdzie Pensja <> 20000;
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000,0
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0
6 Kim 22 South-Hall 45000,0
7 James 24 Houston 10000,0

Poniższy list SELECT pensja jest większa niż suma wszystkich zapisów 65,000.00:

sqlite> SELECT * FROM firma Gdzie Pensja> = 65000;
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0

SQLite operatory logiczne

Oto lista operatorów logicznych SQLite wszystkich.

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

Przykłady

Załóżmy, że stół Spółka posiada następujące zapisy:

NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
1 Paweł 32 California 20000,0
2 Allen 25 Texas 15000,0
3 Teddy 23 Norwegia 20000,0
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0
6 Kim 22 South-Hall 45000,0
7 James 24 Houston 10000,0

Poniższy przykład ilustruje użycie SQLite operatorów logicznych.

Poniższe zestawienie zawiera listę AGE SELECT 25i większa lub równa większa lub równa płaca dla wszystkich rekordów 65000.00:

sqlite> SELECT * FROM firmie, w której wiek> = 25 AND Pensja> = 65000;
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0

Poniższe zestawienie zawiera listę AGE SELECT 25lub większa lub równa większa lub równa płaca dla wszystkich rekordów 65000.00:

sqlite> SELECT * FROM firmie, w której wiek> = 25 LUB Pensja> = 65000;
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
1 Paweł 32 California 20000,0
2 Allen 25 Texas 15000,0
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0

Poniższe zestawienie zawiera listę SELECT wiek nie jest NULL dla wszystkich zapisów, wszystkie rekordy wykazały, oznacza to, że nie ma zapisu na wiek jest równy NULL:

sqlite> SELECT * FROM firmie, w której wiek nie jest NULL;
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
1 Paweł 32 California 20000,0
2 Allen 25 Texas 15000,0
3 Teddy 23 Norwegia 20000,0
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0
6 Kim 22 South-Hall 45000,0
7 James 24 Houston 10000,0

Charakter następujących listach wyboru rachunku nazwę na "Ki" wszystkich zapisów zaczął, "Ki" ma limitu po:

sqlite> SELECT * FROM firmie, w której nazwie typu "Ki% ';
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
6 Kim 22 South-Hall 45000,0

Charakter następujących listach wyboru rachunku nazwę na "Ki" wszystkich zapisów zaczął, "Ki" ma limitu po:

sqlite> SELECT * FROM firma Gdzie NAZWA GLOB "Ki * ';
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
6 Kim 22 South-Hall 45000,0

Poniższy list SELECT wszystkie rekordy wartości wieku 25 lub 27:

sqlite> SELECT * FROM firma Gdzie AGE IN (25, 27);
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000,0
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0

Poniższa instrukcja SELECT zawiera listę wartości AGE jest ani 25, ani 27 wszystkich zapisów:

sqlite> SELECT * FROM firmie, w której wiek nie IN (25, 27);
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
1 Paweł 32 California 20000,0
3 Teddy 23 Norwegia 20000,0
6 Kim 22 South-Hall 45000,0
7 James 24 Houston 10000,0

Poniższe zestawienie zawiera listę SELECT Wiek wartościami wszelkie rekordy od 25 do 27:

sqlite> SELECT * FROM firma Gdzie wieku pomiędzy 25 i 27;
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000,0
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0

Poniższa instrukcja SELECT używa podzapytania SQL, podzapytania find Pensja> pole wiek dla wszystkich rekordów z 65.000, za klauzula WHERE jest używana w połączeniu z operatorem EXISTS, wymienia zewnętrzną obecność AGE zapytanie w deklaracji sub-zapytania wyniki wszystkich rekordów:

sqlite> SELECT wieku od PRODUCENTA 
        Jeżeli nie istnieje (SELECT wieku od firmy, w której Pensja> 65000);
AGE
----------
32
25
23
25
27
22
24

Poniższa instrukcja SELECT używa SQL podzapytania, podzapytania find Pensja> pole wiek dla wszystkich rekordów z 65.000, za WHERE i> Operatorzy są używane razem, wyniki kwerendy zwraca listę zewnętrznej kwerendy jest większa niż sub-AGE Wszystkie zapisy w wieku:

sqlite> SELECT * FROM COMPANY 
        GDZIE wiek> (SELECT wieku od firmy, w której Pensja> 65000);
NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
1 Paweł 32 California 20000,0

SQLite Operatory bitowe

Bitwise podmioty działające na trochę, a bit po operacji bitowej. Tabela prawdy i | i, co następuje:

pqp & qp | q
0000
0101
1111
1001

Załóżmy, że jeśli A = 60, a b = 13, obecnie w formacie binarnym, który jest następujący:

A = 0011 1100

B = 0000 1101

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

A & B = 0000 1100

A | B = 0011 1101

~ A = 1100 0011

Poniższa tabela zawiera listę języków obsługiwanych przez SQLite operatorów bitowych. Załóżmy, że zmienna A = 60, B = zmienna 13, a następnie:

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

Przykłady

Poniższy przykład ilustruje użycie SQLite bitowe:

sqlite> Linia .mode
sqlite> select 60 | 13;
60 | 13 = 61

sqlite> select 60 13;
60 i 13 = 12

sqlite> select 60 ^ 13;
10 x 20 = 200


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

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

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