prépondérance des opérateurs booléens dans les requêtes mysql
les requêtes exploitent souvent les opérateurs logiques comme ou et pour filtrer et récupérer des données spécifiques. Comprendre la priorité de ces opérateurs est crucial pour garantir l'exécution des requêtes comme prévu.
Dans MySQL, la priorité de l'opérateur détermine l'ordre dans lequel les opérations sont évaluées. La documentation MySQL fournit une liste complète des niveaux de priorité des opérateurs, avec des opérateurs en haut de la liste ayant une priorité plus élevée.
Considérez la requête suivante:
SELECT * FROM tablename WHERE display = 1 OR display = 2 AND content LIKE "%hello world%" OR tags LIKE "%hello world%" OR title LIKE "%hello world%";
Selon la documentation, les opérateurs OR et et ont la même priorité. Par conséquent, cette requête peut être interprétée de deux manières:
parenthèses d'abord:
((display = 1) OR (display = 2)) AND ((content LIKE "%hello world%") OR (tags LIKE "%hello world%") OR (title LIKE "%hello world%"))
Évaluation de gauche à droite:
(display = 1 OR display = 2) AND (content LIKE "%hello world%") OR (tags LIKE "%hello world%" OR title LIKE "%hello world%")
select * from TableName OÙ (afficher = 1 ou afficher = 2) et (Contenu comme "% Hello World%" ou Tags comme "% Hello World%" ou titre comme "% Hello World%");
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3