Ringkasan :dalam tutorial ini, Anda akan belajar bagaimana menggunakan SQLite IN
operator untuk menentukan apakah suatu nilai cocok dengan nilai apa pun dalam daftar nilai atau hasil dari subkueri.
Pengantar SQLite IN
operator
SQLite IN
operator menentukan apakah suatu nilai cocok dengan nilai apa pun dalam daftar atau subkueri. Sintaks dari IN
operatornya adalah sebagai berikut:
expression [NOT] IN (value_list|subquery);
Code language: SQL (Structured Query Language) (sql)
expression
dapat berupa ekspresi yang valid atau kolom tabel.
Daftar nilai adalah daftar nilai tetap atau kumpulan hasil dari satu kolom yang dikembalikan oleh subkueri. Jenis ekspresi dan nilai yang dikembalikan dalam daftar harus sama.
IN
operator mengembalikan benar atau salah tergantung pada apakah ekspresi cocok dengan nilai apa pun dalam daftar nilai atau tidak. Untuk meniadakan daftar nilai, gunakan NOT IN
operator.
SQLite IN
contoh operator
Kami akan menggunakan Tracks
tabel dari database sampel untuk demonstrasi.
Pernyataan berikut menggunakan IN
operator untuk menanyakan trek yang id jenis medianya adalah 1 atau 2.
SELECT
TrackId,
Name,
Mediatypeid
FROM
Tracks
WHERE
MediaTypeId IN (1, 2)
ORDER BY
Name ASC;
Code language: SQL (Structured Query Language) (sql)
Cobalah
Kueri ini menggunakan OR
operator alih-alih IN
operator untuk mengembalikan set hasil yang sama seperti kueri di atas:
SELECT
TrackId,
Name,
MediaTypeId
FROM
Tracks
WHERE
MediaTypeId = 1 OR MediaTypeId = 2
ORDER BY
Name ASC;
Code language: SQL (Structured Query Language) (sql)
Cobalah
Seperti yang Anda lihat dari kueri, menggunakan IN
operator jauh lebih pendek.
Jika Anda memiliki kueri yang menggunakan banyak OR
operator, Anda dapat mempertimbangkan untuk menggunakan IN
operator sebagai gantinya untuk membuat kueri lebih mudah dibaca.
SQLite IN
operator dengan contoh subquery
Kueri berikut mengembalikan daftar id album dari id artis 12:
SELECT albumid
FROM albums
WHERE artistid = 12;
Code language: SQL (Structured Query Language) (sql)
Cobalah
Untuk mendapatkan lagu-lagu milik artis id 12, Anda dapat menggabungkan IN
operator dengan subquery sebagai berikut:
SELECT
TrackId,
Name,
AlbumId
FROM
Tracks
WHERE
AlbumId IN (
SELECT
AlbumId
FROM
Albums
WHERE
ArtistId = 12
);
Code language: SQL (Structured Query Language) (sql)
Cobalah
Dalam contoh ini:
- Pertama, subquery mengembalikan daftar id album milik artis id 12.
- Kemudian, kueri luar mengembalikan semua lagu yang id albumnya cocok dengan daftar id album yang dikembalikan oleh subkueri.
SQLite NOT IN contoh
Pernyataan berikut mengembalikan daftar trek yang id genrenya tidak ada dalam daftar (1,2,3).
SELECT
trackid,
name,
genreid
FROM
tracks
WHERE
genreid NOT IN (1, 2,3);
Code language: SQL (Structured Query Language) (sql)
Cobalah
Dalam tutorial ini, Anda telah mempelajari cara menggunakan SQLite IN
operator untuk mencocokkan nilai dengan daftar nilai atau subkueri.