Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melaksanakan Pertanyaan PILIH dengan Pengecualian Subkueri Menggunakan Pembina Pertanyaan CodeIgniter?

Bagaimana untuk Melaksanakan Pertanyaan PILIH dengan Pengecualian Subkueri Menggunakan Pembina Pertanyaan CodeIgniter?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-18 22:16:02784semak imbas

How to Perform SELECT Queries with Subquery Exclusion Using CodeIgniter's Query Builder?

Menggunakan Pembina Pertanyaan CodeIgniter untuk Pertanyaan PILIH dengan Pengecualian Subkueri

CodeIgniter menawarkan pembina pertanyaan serba boleh yang memudahkan penciptaan pertanyaan SQL kompleks dalam PHP. Satu pertanyaan sedemikian ialah pertanyaan SELECT dengan pengecualian subkueri. Pertanyaan ini membolehkan anda mendapatkan semula baris daripada jadual berdasarkan syarat yang mengecualikan baris tertentu daripada jadual lain, seperti yang dinyatakan dalam pernyataan SQL berikut:

SELECT *
FROM certs
WHERE id NOT IN (SELECT id_cer FROM revokace);

Untuk mereplikasi pertanyaan ini menggunakan pembina pertanyaan CodeIgniter, anda boleh memanfaatkan kaedah where(). Kaedah ini menerima hujah rentetan yang mewakili keadaan pertanyaan:

$this->db->select('*')
         ->from('certs')
         ->where('`id` NOT IN (SELECT `id_cer` FROM `revokace`)', NULL, FALSE);

Dalam kod ini, argumen ,NULL,FALSE dalam kaedah where() menghalang CodeIgniter daripada melarikan pertanyaan, memastikan pelaksanaannya yang betul.

Sebagai alternatif, anda boleh menggunakan perpustakaan subquery untuk memudahkan proses selanjutnya:

$this->db->select('*')
         ->from('certs');
$sub = $this->subquery->start_subquery('where_in');
$sub->select('id_cer')
    ->from('revokace');
$this->subquery->end_subquery('id', FALSE);

Dengan menggunakan pembina pertanyaan CodeIgniter dan kaedah where() atau subquery, anda boleh dengan mudah melaksanakan pertanyaan SELECT kompleks dengan pengecualian subquery dalam aplikasi PHP anda.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan PILIH dengan Pengecualian Subkueri Menggunakan Pembina Pertanyaan CodeIgniter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn