Maison  >  Article  >  développement back-end  >  Comment effectuer des requêtes SELECT avec exclusion de sous-requête à l'aide du générateur de requêtes de CodeIgniter ?

Comment effectuer des requêtes SELECT avec exclusion de sous-requête à l'aide du générateur de requêtes de CodeIgniter ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-18 22:16:02796parcourir

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

Utilisation du générateur de requêtes de CodeIgniter pour les requêtes SELECT avec exclusion de sous-requête

CodeIgniter propose un générateur de requêtes polyvalent qui facilite la création de requêtes SQL complexes en PHP. L'une de ces requêtes est la requête SELECT avec une exclusion de sous-requête. Cette requête vous permet de récupérer des lignes d'une table en fonction d'une condition qui exclut des lignes spécifiques d'une autre table, comme exprimé dans l'instruction SQL suivante :

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

Pour répliquer cette requête à l'aide du générateur de requêtes de CodeIgniter, vous pouvez exploitez la méthode Where(). Cette méthode accepte un argument de chaîne qui représente la condition de la requête :

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

Dans ce code, les arguments ,NULL,FALSE de la méthode Where() empêchent CodeIgniter d'échapper à la requête, garantissant ainsi sa bonne exécution.

Vous pouvez également utiliser la bibliothèque de sous-requêtes pour simplifier davantage le processus :

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

En utilisant le générateur de requêtes de CodeIgniter et ses méthodes Where() ou de sous-requête, vous pouvez exécuter sans effort des requêtes SELECT complexes avec exclusions de sous-requêtes dans vos applications PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn