Maison >base de données >tutoriel mysql >Comment contourner le manque de fonctionnalité de la clause EXCEPT de MySQL ?

Comment contourner le manque de fonctionnalité de la clause EXCEPT de MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-05 11:20:40497parcourir

How to Work Around MySQL's Lack of EXCEPT Clause Functionality?

Erreur de syntaxe : clause EXCEPT dans la requête

Lors de la rédaction d'une requête MySQL incluant une clause EXCEPT, vous pouvez rencontrer une erreur, en particulier " Vous avez une erreur dans votre syntaxe SQL." Cette erreur se produit car MySQL ne prend pas en charge la syntaxe EXCEPT de manière native.

Pour surmonter cette limitation, envisagez d'utiliser des approches alternatives. Une méthode consiste à utiliser l'opérateur NOT IN :

SELECT s.sno
FROM students s
WHERE s.sno NOT IN (
    SELECT t.sno
    FROM take t
    WHERE t.cno = 'CS112'
);

Vous pouvez également utiliser un LEFT JOIN :

SELECT s.sno
FROM students s
    LEFT JOIN take t ON s.sno = t.sno
WHERE IFNULL(t.cno, '') != 'CS112'

Ces requêtes alternatives obtiennent le même résultat : récupérer les valeurs sno de la table des étudiants qui ne sont pas présentes dans la table de prise où cno est égal à 'CS112'.

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