Heim  >  Artikel  >  Backend-Entwicklung  >  Wie führe ich SELECT-Abfragen mit Unterabfrageausschluss mit dem Query Builder von CodeIgniter durch?

Wie führe ich SELECT-Abfragen mit Unterabfrageausschluss mit dem Query Builder von CodeIgniter durch?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-18 22:16:02784Durchsuche

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

Verwendung des Abfrage-Generators von CodeIgniter für SELECT-Abfragen mit Ausschluss von Unterabfragen

CodeIgniter bietet einen vielseitigen Abfrage-Generator, der die Erstellung komplexer SQL-Abfragen in PHP erleichtert. Eine solche Abfrage ist die SELECT-Abfrage mit einem Unterabfrageausschluss. Mit dieser Abfrage können Sie Zeilen aus einer Tabelle basierend auf einer Bedingung abrufen, die bestimmte Zeilen aus einer anderen Tabelle ausschließt, wie in der folgenden SQL-Anweisung ausgedrückt:

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

Sie können diese Abfrage mit dem Abfrage-Builder von CodeIgniter replizieren Nutzen Sie die Methode where(). Diese Methode akzeptiert ein Zeichenfolgenargument, das die Abfragebedingung darstellt:

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

In diesem Code verhindern die ,NULL,FALSE-Argumente in der Methode where(), dass CodeIgniter die Abfrage maskiert und so deren ordnungsgemäße Ausführung gewährleistet.

Alternativ können Sie die Unterabfragebibliothek verwenden, um den Prozess weiter zu vereinfachen:

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

Durch die Verwendung von Mit dem Abfrage-Builder von CodeIgniter und seinen where()- oder Unterabfrage-Methoden können Sie mühelos komplexe SELECT-Abfragen mit Unterabfrage-Ausschlüssen in Ihren PHP-Anwendungen ausführen.

Das obige ist der detaillierte Inhalt vonWie führe ich SELECT-Abfragen mit Unterabfrageausschluss mit dem Query Builder von CodeIgniter durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn