LIKE di SQL

Mencari teks berdasarkan pola, misalnya nama yang diawali atau mengandung kata tertentu.

Penjelasan sederhana

LIKE dipakai untuk mencari teks berdasarkan pola, bukan nilai yang persis sama. Berguna kalau kamu hanya ingat sebagian kata.

Ada dua karakter khusus. % mewakili berapa pun karakter (bahkan tidak ada sama sekali), dan _ mewakili tepat satu karakter. Jadi 'A%' berarti diawali huruf A, '%a' berarti diakhiri huruf a, dan '%ra%' berarti mengandung "ra" di mana saja.

Sintaks

WHERE kolom LIKE 'pola';
BagianKeterangan
%Mewakili nol atau banyak karakter apa saja.
_Mewakili tepat satu karakter.

Tanda [kurung siku] berarti bagian opsional. Kata kunci SQL tidak membedakan huruf besar-kecil, tapi menulisnya dengan huruf besar membuat query lebih mudah dibaca.

Contoh LIKE

Data contoh: karyawan

Tabel karyawan

idnamadept_idkotagajitgl_masukatasan_id
1 Andi Pratama 3 Bandung 12500000 2019-03-11 NULL
2 Bunga Lestari 1 Jakarta 9800000 2020-07-01 NULL
3 Candra Wijaya 3 Bandung 8200000 2021-02-15 1
4 Dewi Anggraini 2 Jakarta 7500000 2022-05-09 6
5 Eko Saputra 1 Jakarta 6900000 2023-01-16 2
6 Fajar Nugroho 2 Surabaya 11000000 2018-09-03 NULL
7 Gita Permata 3 Jakarta 8200000 2023-08-21 1
8 Hendra Gunawan NULL Medan 5500000 2024-04-02 NULL
query.sql
SELECT nama
FROM karyawan
WHERE nama LIKE '%ra%';
>_ Jalankan & ubah query ini di browser

Hasil 5 baris

nama
Andi Pratama
Candra Wijaya
Dewi Anggraini
Eko Saputra
Hendra Gunawan

Semua nama yang mengandung "ra" di mana pun posisinya. 'A%' berarti diawali A, '%a' berarti diakhiri a.

Cara kerjanya, langkah demi langkah

  1. FROM karyawan: 8 nama diambil.
  2. Setiap nama dicek apakah mengandung "ra". Tanda % di depan dan belakang membolehkan huruf apa pun sebelum dan sesudahnya.
  3. Yang cocok 5 nama: Pratama, Candra, Anggraini, Saputra, dan Hendra.

Dipakai untuk apa di kantor?

  • Mencari pelanggan yang emailnya memakai domain tertentu, misalnya LIKE '%@gmail.com'.
  • Mencari produk yang namanya mengandung kata "kopi".
  • Menemukan kode transaksi dengan awalan tertentu.

Kesalahan yang sering terjadi

  • Lupa tanda %. LIKE 'ra' hanya cocok dengan teks yang isinya persis "ra".
  • Tidak sadar soal huruf besar-kecil. Di PostgreSQL, LIKE 'a%' tidak menemukan "Andi". Pakai ILIKE atau LOWER(nama) LIKE ....
Progres bab Filter Data 0/8 dipelajari
Lanjut: IS NULL

Belajar SQL bareng mentor

Hafal sintaks itu mudah. Menjawab pertanyaan bisnis, itu skill.

Private Class Python & SQL untuk Data: dari query dasar sampai JOIN dan studi kasus kerja, dengan kurikulum dan jadwal yang menyesuaikan kamu.

Lihat Private Class