Ringkasan :dalam tutorial ini, Anda akan mempelajari cara menggunakan SQLite WHERE
klausa untuk menentukan kondisi pencarian untuk baris yang dikembalikan oleh kueri.
Pengantar SQLite WHERE
klausa
WHERE
klausa adalah klausa opsional dari SELECT
penyataan. Itu muncul setelah FROM
klausa seperti pernyataan berikut:
SELECT
column_list
FROM
table
WHERE
search_condition;
Code language: SQL (Structured Query Language) (sql)
Dalam contoh ini, Anda menambahkan WHERE
klausa ke SELECT
pernyataan untuk memfilter baris yang dikembalikan oleh kueri. Saat mengevaluasi SELECT
pernyataan dengan WHERE
klausa, SQLite menggunakan langkah-langkah berikut:
- Pertama, periksa tabel di
FROM
klausa. - Kedua, evaluasi kondisi di
WHERE
klausa untuk mendapatkan baris yang memenuhi ketentuan ini. - Ketiga, buat hasil akhir yang ditetapkan berdasarkan baris pada langkah sebelumnya dengan kolom di
SELECT
klausa.
Kondisi pencarian di WHERE
memiliki bentuk sebagai berikut:
left_expression COMPARISON_OPERATOR right_expression
Code language: SQL (Structured Query Language) (sql)
Misalnya, Anda dapat membentuk kondisi pencarian sebagai berikut:
WHERE column_1 = 100;
WHERE column_2 IN (1,2,3);
WHERE column_3 LIKE 'An%';
WHERE column_4 BETWEEN 10 AND 20;
Code language: SQL (Structured Query Language) (sql)
Selain SELECT
pernyataan, Anda dapat menggunakan WHERE
klausa dalam UPDATE
dan DELETE
pernyataan.
Operator perbandingan SQLite
Operator perbandingan menguji apakah dua ekspresi sama. Tabel berikut mengilustrasikan operator perbandingan yang dapat Anda gunakan untuk membuat ekspresi:
Operator | Artinya |
---|---|
= | sama dengan |
<> atau != | Tidak sama dengan |
Kurang dari | |
> | Lebih besar dari |
<= | Kurang dari atau sama dengan |
>= | Lebih besar dari atau sama dengan |
Operator logika SQLite
Operator logika memungkinkan Anda menguji kebenaran beberapa ekspresi. Operator logika mengembalikan 1, 0, atau nilai NULL.
Perhatikan bahwa SQLite tidak menyediakan tipe data Boolean oleh karena itu 1 berarti TRUE, dan 0 berarti FALSE.
Tabel berikut mengilustrasikan operator logika SQLite:
Operator | Artinya |
---|---|
SEMUA | mengembalikan 1 jika semua ekspresi adalah 1. |
DAN | mengembalikan 1 jika kedua ekspresi adalah 1, dan 0 jika salah satu ekspresi adalah 0. |
APA SAJA | mengembalikan 1 jika salah satu dari kumpulan perbandingan adalah 1. |
ANTARA | mengembalikan 1 jika nilai berada dalam rentang. |
ADA | mengembalikan 1 jika subkueri berisi baris apa pun. |
IN | mengembalikan 1 jika nilai ada dalam daftar nilai. |
SUKA | mengembalikan 1 jika nilai cocok dengan pola |
TIDAK | membalikkan nilai operator lain seperti NOT EXISTS, NOT IN, NOT BETWEEN, dll. |
ATAU | mengembalikan nilai true jika salah satu ekspresi adalah 1 |
SQLite WHERE
contoh klausa
Kami akan menggunakan tracks
tabel di database sampel untuk menggambarkan cara menggunakan WHERE
klausa.
Operator kesetaraan (=
) adalah operator yang paling umum digunakan. Misalnya, kueri berikut menggunakan WHERE
klausa operator kesetaraan untuk menemukan semua trek di id album 1:
SELECT
name,
milliseconds,
bytes,
albumid
FROM
tracks
WHERE
albumid = 1;
Code language: SQL (Structured Query Language) (sql)
Cobalah
SQLite membandingkan nilai yang disimpan di AlbumId
kolom dengan nilai literal 1
untuk menguji apakah mereka sama. Hanya baris yang memenuhi kondisi yang dikembalikan.
Saat Anda membandingkan dua nilai, Anda harus memastikan bahwa keduanya adalah tipe data yang sama. Anda harus membandingkan angka dengan angka, string dengan string, dll.
Jika Anda membandingkan nilai dalam tipe data yang berbeda misalnya, string dengan angka, SQLite harus melakukan konversi tipe data implisit, tetapi secara umum, Anda harus menghindari melakukan hal ini.
Anda menggunakan operator logika untuk menggabungkan ekspresi. Misalnya, untuk mendapatkan trek dari album 1 yang memiliki panjang lebih dari 200.000 milidetik, Anda menggunakan pernyataan berikut:
SELECT
name,
milliseconds,
bytes,
albumid
FROM
tracks
WHERE
albumid = 1
AND milliseconds > 250000;
Code language: SQL (Structured Query Language) (sql)
Cobalah
Pernyataan tersebut menggunakan dua ekspresi albumid = 1
dan milliseconds > 250000
. Ini menggunakan AND
operator logika untuk menggabungkan ekspresi ini.
SQLite WHERE
klausa dengan LIKE
contoh operator
Terkadang, Anda mungkin tidak ingat persis data yang ingin Anda cari. Dalam hal ini, Anda melakukan pencarian yang tidak tepat menggunakan LIKE
operator.
Misalnya, untuk menemukan trek mana yang dibuat oleh Smith, Anda menggunakan LIKE
operator sebagai berikut:
SELECT
name,
albumid,
composer
FROM
tracks
WHERE
composer LIKE '%Smith%'
ORDER BY
albumid;
Code language: SQL (Structured Query Language) (sql)
Cobalah
Anda mendapatkan trek yang disusun oleh R.A. Smith-Diesel, Adrian Smith, dll.
SQLite WHERE
klausa dengan IN
contoh operator
IN
operator memungkinkan Anda untuk memeriksa apakah suatu nilai ada dalam daftar daftar nilai yang dipisahkan koma. Misalnya, untuk menemukan trek yang memiliki id jenis media 2 atau 3, gunakan IN
operator seperti yang ditunjukkan pada pernyataan berikut:
SELECT
name,
albumid,
mediatypeid
FROM
tracks
WHERE
mediatypeid IN (2, 3);
Code language: SQL (Structured Query Language) (sql)
Cobalah
Dalam tutorial ini, Anda telah mempelajari cara menggunakan SQLite WHERE
klausa untuk memfilter baris dalam kumpulan hasil akhir menggunakan operator perbandingan dan logika.