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.
运算符 | 描述 |
---|---|
AND | AND 运算符允许在一个 SQL 语句的 WHERE 子句中的多个条件的存在。 |
BETWEEN | BETWEEN 运算符用于在给定最小值和最大值范围内的一系列值中搜索值。 |
EXISTS | EXISTS 运算符用于在满足一定条件的指定表中搜索行的存在。 |
IN | IN 运算符用于把某个值与一系列指定列表的值进行比较。 |
NOT IN | IN 运算符的对立面,用于把某个值与不在一系列指定列表的值进行比较。 |
LIKE | LIKE 运算符用于把某个值与使用通配符运算符的相似值进行比较。 |
GLOB | GLOB 运算符用于把某个值与使用通配符运算符的相似值进行比较。GLOB 与 LIKE 不同之处在于,它是大小写敏感的。 |
NOT | NOT 运算符是所用的逻辑运算符的对立面。比如 NOT EXISTS、NOT BETWEEN、NOT IN,等等。它是否定运算符。 |
OR | OR 运算符用于结合一个 SQL 语句的 WHERE 子句中的多个条件。 |
IS NULL | NULL 运算符用于把某个值与 NULL 值进行比较。 |
IS | IS 运算符与 = 相似。 |
IS NOT | IS NOT 运算符与 != 相似。 |
|| | 连接两个不同的字符串,得到一个新的字符串。 |
UNIQUE | UNIQUE 运算符搜索指定表中的每一行,确保唯一性(无重复)。 |
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:
p | q | p & q | p | q |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
1 | 0 | 0 | 1 |
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