Rumah > Artikel > Operasi dan penyelenggaraan > Memperkenalkan operasi sertakan dalam pertanyaan Oracle
Oracle ialah sistem pengurusan pangkalan data yang berkuasa, dan pernyataan pertanyaannya boleh membantu kami mendapatkan data dengan cekap. Dalam pembangunan sebenar, kita selalunya perlu menanyakan data yang mengandungi kata kunci tertentu. Artikel ini akan memperkenalkan operasi sertakan dalam pertanyaan Oracle.
1. pernyataan LIKE
Dalam Oracle, salah satu cara paling asas untuk melaksanakan operasi kemasukan adalah melalui pernyataan LIKE. LIKE boleh menambah aksara kad bebas pada pertanyaan untuk menggantikan beberapa aksara atau jujukan aksara. Sebagai contoh, pernyataan pertanyaan SQL berikut akan mengembalikan semua rekod yang mengandungi "an":
SELECT * FROM table_name WHERE column_name LIKE '%an%';
% bermakna ia boleh menggantikan mana-mana aksara atau mana-mana jujukan aksara. Syarat pertanyaan di sini merujuk kepada semua rekod yang mengandungi subrentetan "an" dalam medan column_name. Ambil perhatian bahawa klausa LIKE adalah lebih cekap daripada ungkapan biasa.
2. MENGANDUNGI pernyataan
Oracle menyediakan kenyataan MENGANDUNGI untuk operasi kemasukan yang lebih cekap. CONTAINS memerlukan penggunaan indeks teks penuh, jadi indeks perlu dibuat terlebih dahulu.
Berikut ialah contoh mencipta indeks:
CREATE INDEX idx_table_name ON table_name(column_name) INDEXTYPE IS CTXSYS.CONTEXT;
Dalam contoh di atas, kami mencipta indeks bernama idx_table_name, yang melaksanakan indeks teks penuh pada column_name lajur table_name table, Anda boleh menggunakan CONTAINS untuk membuat pertanyaan.
CONTAINS menyokong pelbagai bentuk pertanyaan, termasuk pertanyaan istilah tunggal, pertanyaan frasa, pertanyaan anggaran kosa kata, dsb. Berikut ialah contoh pertanyaan mudah:
SELECT * FROM table_name WHERE CONTAINS(column_name, 'an') > 0;
Ayat ini bermaksud menanyakan semua rekod yang mengandungi "an" dalam jadual table_name. Fungsi CONTAINS mengembalikan nilai integer Jika nilai ini lebih besar daripada 0, ini bermakna hasil pertanyaan telah diperolehi.
3. Kenyataan REGEXP_LIKE
Selain pernyataan SUKA dan MENGANDUNGI, Oracle juga menyediakan kaedah pertanyaan ungkapan biasa - REGEXP_LIKE.
Ekspresi biasa ialah alat pemadanan rentetan yang berkuasa, dilaksanakan dalam Oracle melalui fungsi REGEXP_LIKE. Berikut ialah contoh menggunakan ungkapan biasa untuk pertanyaan kemasukan:
SELECT * FROM table_name WHERE REGEXP_LIKE(column_name, 'an.*');
Pertanyaan ini akan mengembalikan semua rekod bermula dengan "an" dalam column_name. Antaranya, "." mewakili mana-mana aksara, dan "*" mewakili 0 atau lebih aksara. Jika anda ingin memadankan "an" yang tepat, anda boleh menggunakan "b" untuk mengenal pasti sempadan perkataan.
Ringkasan
Di atas memperkenalkan tiga kaedah tentang cara melaksanakan operasi kemasukan dalam Oracle. Kaedah yang paling asas ialah menggunakan LIKE Jika anda memerlukan operasi yang lebih cekap, anda boleh menggunakan CONTAINS dan ungkapan biasa.
Dalam proses pembangunan sebenar, kaedah pertanyaan perlu dipilih mengikut situasi tertentu. Satu perkara yang perlu diambil perhatian ialah MENGANDUNGI dan pertanyaan ungkapan biasa memerlukan penggunaan indeks carian teks penuh. Oleh itu, jika jumlah data tidak terlalu besar, pernyataan LIKE mungkin mencukupi.
Atas ialah kandungan terperinci Memperkenalkan operasi sertakan dalam pertanyaan Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!