SQL - Klausa SEPERTI
SQL LIKEklausa digunakan untuk membandingkan nilai dengan nilai serupa menggunakan operator wildcard. Ada dua karakter pengganti yang digunakan terkait dengan operator LIKE.
- Tanda persen (%)
- Garis bawah (_)
Tanda persen mewakili nol, satu atau beberapa karakter. Garis bawah mewakili satu angka atau karakter. Simbol-simbol ini dapat digunakan dalam kombinasi.
Sintaksis
Sintaks dasar% dan _ adalah sebagai berikut -
SELECT FROM table_name
WHERE column LIKE 'XXXX%'
or
SELECT FROM table_name
WHERE column LIKE '%XXXX%'
or
SELECT FROM table_name
WHERE column LIKE 'XXXX_'
or
SELECT FROM table_name
WHERE column LIKE '_XXXX'
or
SELECT FROM table_name
WHERE column LIKE '_XXXX_'
Anda dapat menggabungkan jumlah N kondisi menggunakan operator DAN atau ATAU. Di sini, XXXX bisa berupa nilai numerik atau string apa pun.
Contoh
Tabel berikut memiliki beberapa contoh yang menunjukkan bagian WHERE memiliki klausa LIKE yang berbeda dengan operator '%' dan '_' -
Sr.No. | Pernyataan & Deskripsi |
---|---|
1 | WHERE SALARY LIKE '200%' Menemukan nilai apa pun yang dimulai dengan 200. |
2 | WHERE SALARY LIKE '%200%' Menemukan nilai apa pun yang memiliki 200 di posisi mana pun. |
3 | WHERE SALARY LIKE '_00%' Menemukan nilai apa pun yang memiliki 00 di posisi kedua dan ketiga. |
4 | WHERE SALARY LIKE '2_%_%' Menemukan nilai apa pun yang dimulai dengan 2 dan setidaknya memiliki panjang 3 karakter. |
5 | WHERE SALARY LIKE '%2' Menemukan nilai apa pun yang diakhiri dengan 2. |
6 | WHERE SALARY LIKE '_2%3' Menemukan nilai apa pun yang memiliki 2 di posisi kedua dan diakhiri dengan 3. |
7 | WHERE SALARY LIKE '2___3' Menemukan nilai apa pun dalam angka lima digit yang dimulai dengan 2 dan diakhiri dengan 3. |
Mari kita ambil contoh nyata, pertimbangkan tabel PELANGGAN yang memiliki catatan seperti yang ditunjukkan di bawah ini.
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
Berikut adalah contoh, yang akan menampilkan semua record dari tabel CUSTOMERS, dimana GAJI dimulai dengan 200.
SQL> SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';
Ini akan menghasilkan hasil sebagai berikut -
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+----------+-----+-----------+----------+