Operator LIKE di SQL
Hai, para entusiast SQL yang sedang berkembang! Hari ini, kita akan mendalamkan salah satu operator paling berguna dan multifungsi di SQL: operator LIKE. Sebagai guru ilmu komputer yang ramah di lingkungan sekitar Anda, saya sangat gembira untuk menghidahkan Anda dalam perjalanan ini. Jadi, ambil minuman kesukaan Anda, duduk nyaman, dan mari kita mulai petualangan SQL ini bersama!
Operator LIKE di SQL
Operator LIKE adalah alat yang kuat di SQL yang memungkinkan kita mencari pola tertentu dalam data kita. Itu seperti memiliki kaca pembesar super cerdas yang dapat menemukan tepat apa yang kita cari dalam database kita.
Bayangkan Anda mencoba menemukan buku di perpustakaan besar. Anda mungkin tidak ingat judulnya tepat, tapi Anda tahu itu mengandung kata "adventure". Operator LIKE adalah teman petugas perpustakaan Anda yang dapat membantu Anda menemukan semua buku dengan "adventure" di judulnya.
Syntax dasar dari operator LIKE adalah:
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
Tapi apa itu "pola" yang kita bicarakan ini? Well, itu adalah topik berikutnya...
Apa itu wild cards?
Wild cards adalah karakter khusus yang dapat mewakili satu atau lebih karakter dalam pola pencarian. Itu seperti joker di dek kartu - mereka dapat menggantikan kartu lain. Di SQL, kita menggunakan wild cards dengan operator LIKE untuk membuat pola pencarian fleksibel.
Dua wild cards utama yang digunakan dengan LIKE adalah:
- % (tanda persen)
- _ (garis bawah)
Mari kita jelajahi masing-masing dari ini secara rinci.
Karakter Wildcard '%'
Karakter wildcard '%' mewakili nol, satu, atau beberapa karakter. Itu adalah wildcard yang paling multifungsi dan sering digunakan ketika Anda tidak yakin tentang posisi atau panjang tepat pola yang Anda cari.
Berikut adalah beberapa contoh:
-- Temukan semua pelanggan yang nama mereka dimulai dengan 'A'
SELECT * FROM Customers WHERE CustomerName LIKE 'A%';
-- Temukan semua produk yang berakhir dengan 'phone'
SELECT * FROM Products WHERE ProductName LIKE '%phone';
-- Temukan semua pesanan dengan 'book' di mana saja di nama produk
SELECT * FROM Orders WHERE ProductName LIKE '%book%';
Dalam contoh pertama, kita mencari semua pelanggan yang nama mereka dimulai dengan 'A', diikuti oleh jumlah karakter apa pun. Ini akan cocok dengan nama seperti "Alex", "Anna", atau bahkan "A very long name".
Contoh kedua mencari produk yang berakhir dengan 'phone', yang dapat mencocokkan "iPhone", "Smartphone", atau "Headphone".
Contoh terakhir menemukan semua pesanan di mana nama produk mengandung 'book' di mana saja, jadi itu akan cocok dengan "Bookshelf", "Notebook", atau "Book of Spells".
Karakter Wildcard '_'
Karakter wildcard '_' mewakili karakter tunggal. Itu seperti placeholder untuk karakter tunggal di dalam pola.
mari kita lihat beberapa contoh:
-- Temukan semua pelanggan yang nama mereka tepat 4 karakter panjang
SELECT * FROM Customers WHERE CustomerName LIKE '____';
-- Temukan semua produk yang dimulai dengan 'A' dan panjang 5 karakter
SELECT * FROM Products WHERE ProductName LIKE 'A____';
-- Temukan semua pesanan di mana karakter kedua ID pesanan adalah '3'
SELECT * FROM Orders WHERE OrderID LIKE '_3%';
Dalam contoh pertama, kita mencari nama pelanggan yang tepat 4 karakter panjang. Ini akan cocok dengan nama seperti "John" atau "Mary", tapi tidak "Alexander" atau "Bob".
Contoh kedua mencari produk 5 karakter panjang yang dimulai dengan 'A'. Ini akan cocok dengan "Apple" atau "Audio", tapi tidak "Apricot" atau "A4 paper".
Contoh terakhir menemukan pesanan di mana karakter kedua ID pesanan adalah '3'. Ini dapat mencocokkan ID pesanan seperti "13456", "23789", atau kombinasi lain selama karakter kedua adalah '3'.
Operator LIKE dengan OR
kadang-kadang, kita ingin mencari beberapa pola sekaligus. Itu di mana operator OR berguna. Kita dapat menggabungkannya dengan LIKE untuk mencari pola yang berbeda dalam satu permintaan.
Berikut adalah contoh:
-- Temukan semua pelanggan yang nama mereka dimulai dengan 'A' atau berakhir dengan 's'
SELECT * FROM Customers
WHERE CustomerName LIKE 'A%' OR CustomerName LIKE '%s';
Permintaan ini akan mengembalikan pelanggan seperti "Alice", "Andreas", "Boris", atau "Charles". Itu mencocokkan nama yang baik dimulai dengan 'A' atau berakhir dengan 's' (atau keduanya).
Operator NOT dengan kondisi LIKE
Apa bila kita ingin menemukan semua hal yang tidak cocok dengan pola tertentu? Itu di mana operator NOT bergabung. Kita dapat menggunakan NOT LIKE untuk meng排除 pola tertentu dari pencarian kita.
Berikut adalah contoh:
-- Temukan semua produk yang tidak dimulai dengan 'A'
SELECT * FROM Products
WHERE ProductName NOT LIKE 'A%';
Permintaan ini akan mengembalikan semua produk kecuali yang dimulai dengan 'A'. Jadi itu akan termasuk "Banana", "Cherry", "Dell Laptop", tapi tidak "Apple" atau "Acer Monitor".
Karakter pelarian dengan operator LIKE
kadang-kadang, kita mungkin ingin mencari pola yang termasuk karakter wildcard itu sendiri. Misalnya, apa bila kita ingin menemukan produk dengan '%' di namanya? Kita menggunakan karakter pelarian untuk memberitahu SQL bahwa kita ingin menganggap karakter khusus ini sebagai karakter biasa.
Karakter pelarian default di SQL adalah backslash (). Berikut adalah cara penggunaannya:
-- Temukan produk dengan '%' di namanya
SELECT * FROM Products
WHERE ProductName LIKE '%\%%';
-- Temukan produk dengan '_' di namanya
SELECT * FROM Products
WHERE ProductName LIKE '%\_%';
Permintaan pertama akan mencocokkan nama produk seperti "50% off", "100% cotton", dll. Yang kedua akan mencocokkan nama seperti "A_B", "C_D", dll.
Penggunaan Operator LIKE di SQL
Operator LIKE memiliki banyak aplikasi praktis dalam pengqueryan database. Berikut adalah tabel yang menggabungkan beberapa penggunaan umum:
Use Case | Example Query |
---|---|
Mencari kesamaan parsial | SELECT * FROM Customers WHERE CustomerName LIKE '%son%'; |
Mencari format tertentu | SELECT * FROM Orders WHERE OrderID LIKE 'ORD_____'; |
Memfilter berdasarkan karakter awal/akhir | SELECT * FROM Products WHERE ProductName LIKE 'A%' OR ProductName LIKE '%z'; |
Meng排除 pola tertentu | SELECT * FROM Employees WHERE EmployeeName NOT LIKE 'John%'; |
Mencari karakter khusus | SELECT * FROM Products WHERE ProductName LIKE '%\%%'; |
Ingat, operator LIKE defaultnya case-insensitive di kebanyakan implementasi SQL. Ini berarti 'a%' akan cocok dengan 'Apple', 'apple', dan 'APPLE'.
Dalam kesimpulan, operator LIKE adalah alat kuat dalam peralatan SQL Anda. Itu memungkinkan pencocokan string fleksibel dan kuat, yang sangat penting dalam banyak tugas analisis dan pengambilan data. Latih menggunakannya dengan pola dan kombinasi yang berbeda, dan Anda akan segera bisa menggunakannya seperti seorang pro!
Selamat berquery, para master SQL masa depan!
Credits: Image by storyset