Latest web development tutorials

Operator SQLite

Apa Operator SQLite?

Operator adalah kata cipta atau karakter, klausa WHERE untuk melakukan operasi terutama digunakan untuk pernyataan SQLite, seperti perbandingan dan aritmatika.

Operator digunakan untuk menentukan pernyataan SQLite kondisi dan menghubungkan sejumlah kondisi dalam pernyataan itu.

  • operator aritmatika

  • perbandingan

  • Operator logis

  • bitwise Operator

operator aritmatika SQLite

Misalkan variabel = 10, variabel b = 20, maka:

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

contoh

Berikut ini adalah contoh sederhana dari SQLite operator aritmatika:

sqlite> baris .mode
sqlite> pilih 10 + 20;
10 + 20 = 30


sqlite> pilih 10-20;
10--20 = -10


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


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


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

perbandingan SQLite

Misalkan variabel = 10, variabel b = 20, maka:

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

contoh

meja PERUSAHAAN Misalkan memiliki catatan berikut:

ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
2 Allen 25 Texas 15.000,0
3 Teddy 23 Norwegia 20.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 South-Hall 45.000,0
7 James 24 Houston 10.000,0

Contoh berikut menunjukkan penggunaan berbagai perbandingan SQLite.

Di sini, kita menggunakanklausa WHERE, yang akan dibahas dalam bab tersendiri di belakang, tapi sekarang Anda perlu memahami, klausa WHERE dari pernyataan SELECT digunakan untuk mengatur pernyataan bersyarat.

Berikut pernyataan SELECT daftar semua catatan GAJI lebih besar dari 50.000,00:

sqlite> SELECT * DARI PERUSAHAAN MANA GAJI> 50000;
ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

Berikut pernyataan SELECT diskon GAJI 20,000.00 sama dengan semua catatan:

sqlite> SELECT * DARI PERUSAHAAN MANA GAJI = 20000;
ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
3 Teddy 23 Norwegia 20.000,0

Berikut pernyataan SELECT daftar GAJI yang tidak sama dengan semua catatan 20,000.00:

! Sqlite> SELECT * DARI PERUSAHAAN MANA GAJI = 20000;
ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 South-Hall 45.000,0
7 James 24 Houston 10.000,0

Berikut pernyataan SELECT daftar GAJI yang tidak sama dengan semua catatan 20,000.00:

sqlite> SELECT * DARI PERUSAHAAN MANA GAJI <> 20000;
ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 South-Hall 45.000,0
7 James 24 Houston 10.000,0

Berikut pernyataan SELECT daftar GAJI lebih besar dari jumlah semua catatan 65,000.00:

sqlite> SELECT * DARI PERUSAHAAN MANA GAJI> = 65000;
ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

operator logika SQLite

Berikut adalah daftar operator logika SQLite semua.

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

contoh

meja PERUSAHAAN Misalkan memiliki catatan berikut:

ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
2 Allen 25 Texas 15.000,0
3 Teddy 23 Norwegia 20.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 South-Hall 45.000,0
7 James 24 Houston 10.000,0

Contoh berikut menunjukkan penggunaan operator logika SQLite.

Berikut pernyataan SELECT berisi AGE 25dan lebih besar dari atau sama besar dari atau upah yang sama untuk semua catatan 65.000,00:

sqlite> SELECT * DARI PERUSAHAAN MANA AGE> = 25 DAN GAJI> = 65000;
ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

Berikut pernyataan SELECT diskon AGE 25atau lebih besar dari atau sama besar dari atau upah yang sama untuk semua catatan 65.000,00:

sqlite> SELECT * DARI PERUSAHAAN MANA AGE> = 25 OR GAJI> = 65000;
ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
2 Allen 25 Texas 15.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

Berikut pernyataan SELECT daftar AGE tidak NULL untuk semua catatan, semua catatan menunjukkan, itu berarti tidak ada catatan dari AGE sama dengan NULL:

sqlite> SELECT * FROM PERUSAHAAN MANA AGE IS NOT NULL;
ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
2 Allen 25 Texas 15.000,0
3 Teddy 23 Norwegia 20.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 South-Hall 45.000,0
7 James 24 Houston 10.000,0

Karakter berikut SELECT daftar pernyataan NAME untuk 'Ki' semua catatan dimulai, 'Ki' ada batas setelah:

sqlite> SELECT * DARI PERUSAHAAN MANA NAMA LIKE 'Ki%';
ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
6 Kim 22 South-Hall 45.000,0

Karakter berikut SELECT daftar pernyataan NAME untuk 'Ki' semua catatan dimulai, 'Ki' ada batas setelah:

sqlite> SELECT * DARI PERUSAHAAN MANA NAMA GLOB 'Ki *';
ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
6 Kim 22 South-Hall 45.000,0

Berikut pernyataan SELECT daftar semua nilai AGE catatan 25 atau 27:

sqlite> SELECT * FROM PERUSAHAAN MANA USIA DI (25, 27);
ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

Berikut pernyataan SELECT daftar nilai AGE adalah tidak 25 atau 27 dari semua catatan:

sqlite> SELECT * DARI PERUSAHAAN MANA TIDAK USIA DI (25, 27);
ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
3 Teddy 23 Norwegia 20.000,0
6 Kim 22 South-Hall 45.000,0
7 James 24 Houston 10.000,0

Berikut pernyataan SELECT daftar nilai AGE semua catatan antara 25 dan 27:

sqlite> SELECT * DARI PERUSAHAAN MANA USIA ANTARA 25 DAN 27;
ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

Berikut pernyataan SELECT menggunakan subqueries SQL, subquery menemukan GAJI> bidang AGE untuk semua catatan dengan 65.000, di balik klausul WHERE digunakan bersama dengan ADA operator, daftar kehadiran permintaan AGE luar dalam pengembalian sub-query hasil semua catatan:

sqlite> AGE SELECT DARI PERUSAHAAN 
        MANA ADA (SELECT AGE DARI PERUSAHAAN MANA GAJI> 65000);
AGE
----------
32
25
23
25
27
22
24

Berikut pernyataan SELECT menggunakan subqueries SQL, subquery menemukan GAJI> bidang AGE untuk semua catatan dengan 65.000, di balik klausul WHERE dan> operator yang digunakan bersama-sama, hasil query mengembalikan daftar permintaan luar yang lebih besar dari sub-AGE semua catatan zaman:

sqlite> SELECT * FROM PERUSAHAAN 
        MANA AGE> (SELECT AGE DARI PERUSAHAAN MANA GAJI> 65000);
ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0

SQLite Bitwise Operator

operator bitwise yang bekerja pada bit, dan bit dengan operasi bit. Kebenaran meja & dan | sebagai berikut:

pqp & qp | q
0000
0101
1111
1001

Misalkan jika A = 60, dan B = 13, sekarang dalam format biner, yang adalah sebagai berikut:

A = 0011 1100

B = 0000 1101

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

A & B = 0000 1100

A | B = 0011 1101

~ A = 1100 0011

Tabel berikut berisi daftar bahasa yang didukung oleh operator bit SQLite. Misalkan variabel A = 60, variabel B = 13, maka:

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

contoh

Contoh berikut menunjukkan penggunaan bitwise SQLite:

sqlite> baris .mode
sqlite> pilih 60 | 13;
60 | 13 = 61

sqlite> pilih 60 & 13;
60 & 13 = 12

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


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

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

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