Lewati ke konten utama

SQL CONTAINS: Tutorial Komprehensif

Manfaatkan kekuatan SQL CONTAINS untuk pencarian teks tingkat lanjut. Pelajari operator logika, pencarian kedekatan, dan penggunaan wildcard untuk analisis data yang presisi.
· 5 mnt Baca

Jelajahi bersama AI

Kemampuan untuk mencari dan memanipulasi data teks sangat penting bagi data scientist atau data engineer. Fungsi CONTAINS di SQL adalah alat yang kuat untuk melakukan pencarian teks yang canggih dalam basis data Anda, memungkinkan Anda mengambil data berdasarkan pola atau kata kunci tertentu.

Tutorial ini akan memandu Anda menggunakan SQL CONTAINS secara efektif, sehingga Anda dapat memanfaatkan seluruh potensinya untuk kebutuhan analisis data Anda.

Memahami SQL CONTAINS

SQL CONTAINS digunakan untuk pencarian teks penuh (full-text search), memungkinkan Anda melakukan kueri pada basis data untuk kata, frasa, atau pola tertentu dalam data teks. Ini sangat berguna untuk menemukan informasi spesifik pada field teks yang besar ketika lokasi pasti datanya tidak diketahui sebelumnya.

Sintaks dan Parameter

Sintaks dasar untuk SQL CONTAINS adalah sebagai berikut:

CONTAINS (column_name, 'search_pattern')

Komponen kuncinya meliputi:

  • Nama kolom: Field tempat pencarian akan dilakukan. Harus berupa kolom yang diindeks full-text.
  • Pola pencarian: Teks yang ingin Anda temukan dalam kolom, ditulis dalam tanda petik tunggal.

Operator dan Wildcard

Untuk memperhalus pencarian, SQL CONTAINS mendukung berbagai operator:

  • AND & OR: Gunakan untuk menggabungkan beberapa istilah pencarian.
  • NEAR: Menemukan kata-kata yang berada dalam jarak tertentu satu sama lain.
  • ASTERISK (*): Bertindak sebagai wildcard untuk melakukan pencarian ketika kata yang tepat mungkin menjadi bagian dari string yang lebih panjang.

Menerapkan SQL CONTAINS

Mari kita jelajahi cara menerapkan SQL CONTAINS dengan contoh praktis:

Penggunaan Dasar

Untuk mencari istilah "apple" dan "orange" dalam kolom bernama "fruit", Anda dapat menggunakan:

CONTAINS (fruit, '"apple" AND "orange"')

Kueri ini mengembalikan baris tempat kedua istilah tersebut ada dalam kolom "fruit".

Pencarian Lanjutan

Untuk pencarian yang lebih kompleks, menggabungkan CONTAINS dengan fungsi SQL lain memungkinkan kueri rumit, seperti mencari frasa yang saling berdekatan atau menggunakan wildcard untuk menemukan variasi sebuah kata.

Pencarian lanjutan dapat melibatkan penggabungan CONTAINS dengan operator logika, menggunakan pencarian kedekatan, dan memanfaatkan karakter wildcard untuk menemukan pola atau titik data spesifik dalam field teks.

Menggabungkan CONTAINS dengan Operator Logika

SQL CONTAINS mendukung penggunaan operator logika seperti AND, OR, dan NOT untuk memperhalus pencarian berdasarkan banyak kriteria. Misalnya, untuk menemukan entri yang memuat "technology" dan "innovation" dalam satu kolom teks, Anda dapat menyusun kueri sebagai berikut:

SELECT 
  * 
FROM 
  your_table 
WHERE 
  CONTAINS(
    your_column, '"technology" AND "innovation"'
  );

Sebaliknya, untuk menemukan entri yang memuat salah satu istilah, gunakan OR:

SELECT 
  * 
FROM 
  your_table 
WHERE 
  CONTAINS(
    your_column, '"technology" OR "innovation"'
  );

Pencarian Kedekatan

Operator NEAR sangat berguna untuk menemukan kata atau frasa yang muncul berdekatan dalam teks. Kemampuan ini sangat berharga ketika hubungan antar istilah memengaruhi maknanya. Misalnya, untuk mencari "climate" dekat "change" dalam jarak 10 kata:

SELECT 
  * 
FROM 
  your_table 
WHERE 
  CONTAINS(
    your_column, 'NEAR((climate, change), 10)'
  );

Kueri ini memprioritaskan rekaman yang menunjukkan "climate" dan "change" memiliki keterkaitan erat, menghasilkan temuan yang lebih relevan untuk pertanyaan riset spesifik.

Pencarian Wildcard

Wildcard memperluas cakupan pencarian dengan mengizinkan karakter yang bervariasi. Tanda bintang (*) berfungsi sebagai wildcard dalam kueri CONTAINS, memungkinkan pencarian kecocokan sebagian. Misalnya, untuk menemukan variasi dari "compute" seperti "computer", "computing", atau "computation", Anda bisa menggunakan:

SELECT 
  * 
FROM 
  your_table 
WHERE 
  CONTAINS(your_column, '"compute*"');

Pendekatan ini sangat berguna saat Anda ingin menangkap kumpulan data yang luas terkait kata dasar atau saat Anda tidak yakin dengan istilah tepat yang digunakan di basis data.

Pencocokan Pola Lanjutan

Untuk skenario yang memerlukan pencocokan pola yang lebih canggih, pertimbangkan menggabungkan SQL CONTAINS dengan operator LIKE atau regular expression. Meskipun CONTAINS unggul untuk pencarian teks penuh, LIKE dan regex dapat menawarkan fleksibilitas pola, seperti mencocokkan urutan karakter atau format tertentu (misalnya, alamat email atau nomor telepon).

Contoh Praktis: Menggabungkan Teknik untuk Pencarian Komprehensif

Pertimbangkan skenario ketika Anda perlu menemukan entri basis data terkait teknologi lingkungan, tetapi Anda tidak yakin frasa tepat yang digunakan dalam teks. Anda dapat menggabungkan berbagai teknik sebagai berikut:

SELECT 
  * 
FROM 
  your_table 
WHERE 
  CONTAINS(
    your_column, '("environment*" NEAR "technology*", 10) OR "climate change" OR "renewable energy"'
  ) 
  AND your_column LIKE '%sustainability%';

Kueri ini menunjukkan cara menggunakan CONTAINS untuk pencarian kedekatan dan wildcard sekaligus menggabungkan operator LIKE untuk pencocokan pola tambahan, menawarkan strategi yang tangguh untuk pencarian teks yang kompleks.

Contoh Praktis SQL CONTAINS dalam Data Science

Sebagai data scientist, saya bekerja dengan berbagai jenis dataset, terutama dataset teks untuk kepuasan dan umpan balik pelanggan. Pada contoh ini, kita akan mencari kata kunci spesifik yang dapat mengindikasikan kepuasan atau ketidakpuasan dalam umpan balik pelanggan.

ID

FeedbackText

SatisfactionScore

1

I am very happy with the service.

5

2

Not satisfied with the product quality.

2

3

The delivery was quick, and the product works great...

5

4

Customer service was unhelpful and rude.

1

5

Happy with my purchase. Will recommend!

4

Tabel CustomerFeedback

Untuk menggunakan CONTAINS, basis data Anda mungkin perlu mengaktifkan Full-Text Search.

Kata kunci CONTAINS digunakan untuk menemukan rekaman di mana kolom “FeedbackText” memuat kata “happy”.

SELECT 
  * 
FROM 
  CustomerFeedback 
WHERE 
  CONTAINS(FeedbackText, 'happy');

Kueri di atas akan mengembalikan baris dari CustomerFeedback di mana kolom FeedbackText memuat kata “happy”.

ID

FeedbackText

SatisfactionScore

1

I am very happy with the service.

5

3

The delivery was quick, and the product works great...

5

5

Happy with my purchase. Will recommend!

4

Anda tidak dapat menggunakan perintah CONTAINS di basis data SQLite. Sebagai gantinya, coba gunakan:

SELECT 
  * 
FROM 
  CustomerFeedback 
WHERE 
  FeedbackText LIKE '%happy%';

Lebih dari CONTAINS: Pencocokan Pola dan Manipulasi String

Meskipun CONTAINS kuat untuk pencarian teks, SQL juga menawarkan teknik lain untuk bekerja dengan data teks:

Operator LIKE

Mirip dengan CONTAINS, operator LIKE memungkinkan pencocokan pola namun dengan sintaks yang lebih sederhana, menggunakan % sebagai wildcard. Misalnya, untuk menemukan nama produk apa pun yang memuat "apple":

SELECT 
  * 
FROM 
  Products 
WHERE 
  productName LIKE '%apple%'

Fungsi String Lanjutan

SQL menyediakan fungsi seperti LEFT dan REVERSE untuk mengekstrak atau memanipulasi bagian dari string teks, menawarkan kapabilitas luas untuk analisis dan manipulasi teks. Anda dapat mempelajari lebih lanjut di kursus Cleaning Data in SQL Server Databases kami.

Kesimpulan

Fungsi SQL CONTAINS dan kapabilitas manipulasi teks terkait merupakan alat penting bagi praktisi data. Dengan memahami dan menerapkan teknik-teknik ini, Anda dapat mencari dan menganalisis data teks secara efektif dalam basis data Anda, membuka wawasan dan meningkatkan proyek analisis data Anda.

Ingat, efektivitas kueri Anda tidak hanya bergantung pada penguasaan sintaks, tetapi juga pada pemahaman konteks dan struktur data Anda. Berlatihlah dengan dataset dunia nyata dan proyek SQL serta jelajahi berbagai fungsi untuk sepenuhnya memanfaatkan kekuatan SQL dalam analisis data teks.

Untuk mempelajari lebih lanjut tentang operator SQL dan mengeksplorasi dasar-dasar SQL, lihat SQL Basics Cheat Sheet dan jalur keterampilan SQL Fundamentals.

Abid Ali Awan

Penulis

Abid Ali Awan

Sebagai data scientist tersertifikasi, saya bersemangat memanfaatkan teknologi mutakhir untuk menciptakan aplikasi machine learning yang inovatif. Dengan latar belakang kuat di pengenalan ucapan, analisis dan pelaporan data, MLOps, conversational AI, dan NLP, saya mengasah keterampilan dalam mengembangkan sistem cerdas yang berdampak nyata. Selain keahlian teknis, saya juga komunikator andal yang mampu menyederhanakan konsep kompleks menjadi bahasa yang jelas dan ringkas. Karena itu, saya menjadi blogger yang dicari di bidang data science, membagikan wawasan dan pengalaman kepada komunitas profesional data yang terus berkembang. Saat ini, saya berfokus pada pembuatan dan penyuntingan konten, bekerja dengan large language model untuk mengembangkan konten yang kuat dan menarik agar membantu bisnis dan individu memaksimalkan data mereka.

Topik

Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

blogs

Tutorial Korelasi di R