PostgreSQL SUKA, Tidak Suka, Wildcard (%, _ ) Contoh

โšก Ringkasan Cerdas

PostgreSQL LIKE mencocokkan teks dengan pola menggunakan dua karakter pengganti โ€” tanda persen dan garis bawah. Tutorial ini menunjukkan cara menggunakan LIKE dan NOT LIKE dalam pernyataan SELECT, dengan contoh psql dan pgAdmin yang telah dikerjakan untuk setiap kasus.

  • ๐Ÿ” Core Operauntuk: Fungsi LIKE membandingkan kolom atau ekspresi dengan pola wildcard dan mengembalikan nilai true jika cocok.
  • ๐ŸŒŸ Dua Wildcard: % cocok dengan nol karakter atau lebih; _ cocok dengan tepat satu karakter.
  • โœ‹ Pencocokan Terbalik: Gabungkan NOT dengan LIKE untuk mengembalikan baris yang melakukan tidak Cocokkan polanya.
  • ๏ธ Dua Antarmuka: Jalankan kueri yang sama dari baris perintah psql atau secara grafis di dalam pgAdmin.
  • ๐ŸŽฏ Karakter Pelarian: Gunakan klausa ESCAPE untuk mencocokkan karakter literal % atau _ di dalam pola.
  • ๐Ÿค– Peningkatan AI: Alat basis data AI menerjemahkan kebutuhan pencarian dalam bahasa biasa ke dalam pola LIKE dan menyarankan ILIKE ketika pencocokan tanpa memperhatikan huruf besar/kecil diperlukan.

PostgreSQL SUKA, Tidak Suka, Wildcard (%, _ ) Contoh

The PostgreSQL SEPERTI Operator LIKE mencocokkan nilai teks dengan pola menggunakan karakter pengganti (wildcard). Jika ekspresi pencarian cocok dengan pola, LIKE akan mengembalikan nilai. trueWildcard berfungsi di WHERE klausa dari SELECT, UPDATE, INSERT, atau DELETE.

Apa PostgreSQL Karakter pengganti?

PostgreSQL mendukung dua karakter wildcard LIKE:

  • Tanda persen (%): cocok dengan nol, satu, atau banyak karakter atau angka.
  • Garis bawah (_): Cocok dengan tepat satu karakter atau angka.

Kedua simbol tersebut dapat digabungkan di dalam pola yang sama. Jika LIKE digunakan tanpa wildcard, maka akan berperilaku seperti tanda sama dengan (=) operator.

PostgreSQL Sintaks LIKE

Sintaks dasar LIKE adalah:

expression LIKE pattern [ ESCAPE 'escape-character' ]
  • ekspresi โ€” sebuah ekspresi karakter, biasanya berupa nama kolom atau bidang.
  • belt hold โ€” sebuah ekspresi karakter yang berisi karakter pengganti (wildcard).
  • karakter pelarian โ€” opsional. Memungkinkan Anda mencocokkan secara harfiah % or _ karakter. Jika dihilangkan, garis miring terbalik (\) adalah karakter escape default.

PostgreSQL SUKA dengan Wildcard %

The % Tanda cocok dengan nol, satu, atau lebih karakter. Perhatikan hal berikut. Book meja:

Tabel Buku Contoh yang digunakan dalam contoh LIKE

Untuk menemukan buku-buku yang namanya diawali dengan โ€œLearโ€, jalankan kueri di bawah ini.

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

Kueri tersebut mengembalikan:

Seperti hasil kueri Lear% yang mengembalikan buku yang cocok

Untuk menemukan buku yang namanya mengandung kata "oleh" di mana pun:

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

Kueri tersebut mengembalikan:

LIKE hasil kueri %by% dengan buku yang cocok

PostgreSQL SUKA dengan _ Wildcard

The _ Tanda tersebut cocok dengan tepat satu karakter. Kueri berikut menemukan nama-nama di mana karakter pertama adalah huruf tunggal apa pun, diikuti oleh "earn" dan kemudian akhiran apa pun:

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

Kueri tersebut mengembalikan:

Hasil kueri LIKE _earn% dengan awalan karakter tunggal cocok

Contoh lain โ€” cocokkan teks apa pun yang diakhiri dengan "Beginner" ditambah satu karakter lagi:

SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';

Kueri tersebut mengembalikan:

LIKE %Beginner_ hasil kueri yang cocok dengan karakter tunggal di belakangnya

PostgreSQL TIDAK SEPERTI Operator

Gabungkan LIKE dengan NOT untuk mengembalikan baris yang melakukan tidak Cocokkan polanya. Misalnya, sebutkan semua buku yang namanya tidak diawali dengan "Post":

SELECT *
FROM
   Book
WHERE
   name NOT LIKE 'Post%';

Kueri tersebut mengembalikan:

TIDAK SEPERTI hasil Post% tidak termasuk buku yang diawali dengan Post

Hanya satu buku yang memenuhi syarat tersebut. Sekarang, sebutkan semua buku yang namanya memenuhi syarat tersebut. tidak mengandung kata โ€œDibuatโ€:

SELECT *
FROM
   Book
WHERE
   name NOT LIKE '%Made%';

Kueri tersebut mengembalikan:

TIDAK SEPERTI hasil %Made% yang mengembalikan tiga buku yang cocok

Tiga baris memenuhi syarat tersebut.

Menggunakan LIKE dengan pgAdmin

Kueri yang sama juga dapat dijalankan secara grafis di dalam Alat Kueri pgAdmin.

% Wildcard di pgAdmin

Langkah 1) Masuk ke pgAdmin.

Langkah 2) Di bilah navigasi di sebelah kiri, klik Database, Lalu klik Demo.

Pohon navigasi pgAdmin dengan Basis Data dan Demo yang diperluas

Langkah 3) Ketikkan kueri di Editor Kueri:

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

Langkah 4) Klik Eksekusi.

Alat Kueri pgAdmin dengan tombol Eksekusi di bilah alat.

Panel hasil menampilkan buku-buku yang cocok:

Panel hasil pgAdmin untuk kueri LIKE Lear%

Untuk mencari buku yang mengandung kata "oleh" di mana pun dalam judulnya:

Langkah 1) Ketikkan yang berikut ini di Editor Kueri:

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

Langkah 2) Klik Eksekusi.

Alat Kueri pgAdmin menjalankan kueri LIKE %by%

Panel hasil menampilkan:

Panel hasil pgAdmin untuk kueri LIKE %by%

_ Wildcard di pgAdmin

Langkah 1) Masuk ke pgAdmin.

Langkah 2) Di bilah navigasi di sebelah kiri, klik Database, Lalu klik Demo.

Pohon navigasi pgAdmin yang menampilkan pohon Basis Data.

Langkah 3) Ketikkan kueri di Editor Kueri:

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

Langkah 4) Klik Eksekusi.

Alat Kueri pgAdmin menjalankan kueri LIKE _earn%

Panel hasil menampilkan:

Panel hasil pgAdmin untuk kueri LIKE _earn%

Langkah 5) Jalankan contoh kedua:

  1. Ketikkan kueri di Editor Kueri:
SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';
  1. Klik Eksekusi.

Alat Kueri pgAdmin berjalan seperti kueri %Beginner_

Panel hasil menampilkan:

Panel hasil pgAdmin untuk kueri LIKE %Beginner_

TIDAK SEPERTI di pgAdmin

Langkah 1) Masuk ke pgAdmin.

Langkah 2) Di bilah navigasi di sebelah kiri, klik Database, Lalu klik Demo.

Pohon navigasi pgAdmin untuk contoh NOT LIKE

Langkah 3) Untuk menampilkan daftar semua buku yang namanya tidak diawali dengan "Post", ketik:

SELECT *
FROM
   Book
WHERE
   name NOT LIKE 'Post%';

Langkah 4) Klik Eksekusi.

Alat Kueri pgAdmin berjalan TIDAK SEPERTI kueri Post%

Panel hasil menampilkan:

Panel hasil pgAdmin untuk kueri NOT LIKE Post%

Detail hasil pgAdmin tambahan untuk kueri NOT LIKE

Untuk mencantumkan buku-buku yang namanya tidak mengandung kata โ€œMadeโ€:

Langkah 1) Ketikkan yang berikut ini di Editor Kueri:

SELECT *
FROM
   Book
WHERE
   name NOT LIKE '%Made%';

Langkah 2) Klik Eksekusi.

Alat Kueri pgAdmin berjalan TIDAK SEPERTI kueri %Made%

Panel hasil menampilkan:

Panel hasil pgAdmin untuk kueri NOT LIKE %Made%

Unduh basis data yang digunakan dalam tutorial ini..

Pertanyaan Umum Demo Slot

LIKE peka terhadap huruf besar dan kecil, sedangkan ILIKE melakukan pencocokan tanpa memperhatikan huruf besar dan kecil. ILIKE adalah sebuah PostgreSQL ekstensi. Misalnya, nama ILIKE 'lear%' cocok dengan โ€œLearnโ€ dan โ€œLEARโ€ secara sama. Gunakan ILIKE ketika huruf besar/kecil input pengguna tidak dapat diprediksi.

Gunakan klausa ESCAPE untuk mendeklarasikan karakter escape, lalu tambahkan wildcard literal di depannya. Misalnya, kode WHERE LIKE '50!%%' ESCAPE '!' akan menemukan nilai yang diawali dengan โ€œ50%โ€ karena tanda seru (!) mengescape tanda persen.

Gunakan LIKE untuk pencocokan awalan, akhiran, atau substring sederhana. Beralihlah ke regex POSIX (~ dan ~*) ketika Anda membutuhkan kelas karakter, alternatif, atau kuantifikasi. Regex lebih ampuh tetapi biasanya lebih lambat daripada LIKE untuk pola dasar.

Ya. AI Asisten seperti copilot text-to-SQL menerjemahkan perintah seperti โ€œtemukan pelanggan yang email-nya berisi acmeโ€ menjadi name LIKE '%acme%' dan menjelaskan logika wildcard, mempercepat pelaporan ad-hoc.

AI generatif memeriksa rencana kueri, merekomendasikan indeks trigram (pg_trgm) untuk pencarian LIKE dengan wildcard di awal, dan menulis ulang pola yang mencegah penggunaan indeks. Hal ini mengubah pemindaian tabel penuh menjadi pencarian dalam hitungan milidetik pada tabel besar. PostgreSQL tabel.

Ringkaslah postingan ini dengan: