Teks atau string adalah tipe data yang paling sering disimpan dalam basis data. Terdapat operator SQL khusus digunakan pada kolom yang bertipe teks. Operator ini bertujuan membantu dalam pencarian string, diantaranya adalah sebagai berikut:
-
= (Sama Dengan)
Operator=
digunakan untuk membandingkan string, huruf besar atau kecil sangat berpengaruh. Jika ingin menemukan data yang benar-benar sama, gunakan tanda "=". Misalnya, menemukan buku yang judulnya "Laskar Pelangi":SELECT * FROM buku WHERE judul = "Laskar Pelangi";
-
!= atau <> (Tidak Sama Persis)
Operator!=
atau<>
digunakan untuk menemukan data yang tidak sesuai dengan kriteria tertentu. Misalnya, kita ingin mencari semua buku yang bukan ditulis oleh Andrea Hirata:SELECT * FROM buku WHERE penulis != "Andrea Hirata";
-
LIKE (Perbandingan String Tak Sensitif Huruf Besar/Kecil)
OperatorLIKE
digunakan untuk membandingkan string tanpa memperhatikan huruf besar atau kecil. Misalnya, untuk mencari buku dengan judul yang mengandung kata "Pelangi" tanpa memperhatikan apakah ditulis dengan huruf besar atau kecil:SELECT * FROM buku WHERE judul LIKE "laskar pelangi";
-
NOT LIKE
Kebalikan dariLIKE
,NOT LIKE
digunakan mencari data yang tidak sesuai dengan kriteria teks tertentu. Misalnya, mencari semua buku yang tidak mengandung kata "Menara", tidak peduli huruf besar/ kecil:SELECT * FROM buku WHERE judul NOT LIKE "negeri 5 menara";
-
% (Wildcard untuk Sederet Karakter Apapun)
Wildcard berarti karakter apapun. Penanda%
sangat berguna dalam mengabaikan data yang mengandung sederet karakter apapun dalam string. Penanda ini hanya berlaku untuk operatorLIKE
. Misalnya, kita ingin menemukan semua buku yang judulnya mengandung huruf "M" di mana saja (diawali dan diakhiri sederet karakter apapun):SELECT * FROM buku WHERE judul LIKE "%M%";
Judul berikut akan menjadi bagian dari hasil query:
Bumi
Manusia
- M
omentum
Hita
m
-
_ (Wildcard untuk Satu Karakter)
Penanda_
dalam operatorLIKE
digunakan untuk mengabaikan satu karakter apapun string. Misalnya, mencari buku dengan judul dimana karakter ketiga boleh apapun.:SELECT * FROM buku WHERE judul LIKE "Bu_i%";
Judul berikut akan menjadi bagian dari hasil query:
- Bu
m
iManusia
- Bu
d
i
-
IN (…) (String Ada dalam Daftar)
OperatorIN
digunakan untuk mencari data yang sesuai dengan salah satu dari beberapa nilai dalam daftar. Misalnya, kita ingin menemukan buku yang ditulis oleh "Pramoedya Ananta Toer" atau "Andrea Hirata":SELECT * FROM buku WHERE penulis IN ("Pramoedya Ananta Toer", "Andrea Hirata");
-
NOT IN (…) (String Tidak Ada di Daftar)
Sebaliknya, jika ingin mencari data yang tidak ada dalam daftar nilai tertentu, gunakanNOT IN
. Misalnya, mencari semua buku yang bukan ditulis oleh "Mochammad Ali atau "Ahmad Fuadi":SELECT * FROM buku WHERE penulis NOT IN ("Mochammad Ali", "Ahmad Fuadi");
Latihan:
id | judul | penulis | tahun | jenis |
---|---|---|---|---|
1 | "Senja di Jakarta" | "Mochammad Ali" | 1963 | "Sastra" |
2 | "Laskar Pelangi" | "Andrea Hirata" | 2005 | "Fiksi" |
3 | "Bumi Manusia" | "Pramoedya Ananta Toer" | 1980 | "Sastra" |
4 | "Negeri 5 Menara" | "Ahmad Fuadi" | 2009 | "Inspirasi" |
5 | "Habibie & Ainun" | "Bacharuddin Jusuf Habibie" | 2010 | "Biografi" |
- Temukan Buku Berjudul "Laskar Pelangi"
- Temukan Buku yang Ditulis oleh "Pramoedya Ananta Toer"
- Tampilkan Buku dan Penulis yang Bukan Ditulis oleh "Pramoedya Ananta Toer"
- Temukan Buku dengan Judul yang Dimulai dengan "Negeri"
- Temukan Semua Buku dengan Judul yang Diakhiri oleh "Pelangi"
Pembahasan:
- Temukan Buku Berjudul "Laskar Pelangi"
SELECT * FROM buku
WHERE judul = 'Laskar Pelangi';
id | judul | penulis | tahun | jenis |
---|---|---|---|---|
2 | "Laskar Pelangi" | "Andrea Hirata" | 2005 | "Fiksi" |
- Temukan Buku yang Ditulis oleh "Pramoedya Ananta Toer"
SELECT * FROM buku
WHERE penulis = 'Pramoedya Ananta Toer';
id | judul | penulis | tahun | jenis |
---|---|---|---|---|
3 | "Bumi Manusia" | "Pramoedya Ananta Toer" | 1980 | "Sastra" |
- Tampilkan Buku dan Penulis yang Bukan Ditulis oleh "Pramoedya Ananta Toer"
SELECT judul, penulis FROM buku
WHERE penulis != 'Pramoedya Ananta Toer';
judul | penulis |
---|---|
"Senja di Jakarta" | "Mochammad Ali" |
"Laskar Pelangi" | "Andrea Hirata" |
"Negeri 5 Menara" | "Ahmad Fuadi" |
"Habibie & Ainun" | "Bacharuddin Jusuf Habibie" |
- Temukan Buku dengan Judul yang Dimulai dengan "Negeri"
SELECT * FROM buku
WHERE judul LIKE 'Negeri%';
id | judul | penulis | tahun | jenis |
---|---|---|---|---|
4 | "Negeri 5 Menara" | "Ahmad Fuadi" | 2009 | "Inspirasi" |
- Temukan Buku dengan Judul yang Diakhiri oleh "Pelangi"
SELECT * FROM buku
WHERE judul LIKE '%Pelangi';
id | judul | penulis | tahun | jenis |
---|---|---|---|---|
2 | "Laskar Pelangi" | "Andrea Hirata" | 2005 | "Fiksi" |