Maison > base de données > tutoriel mysql > Comment la priorité des opérateurs affecte-t-elle les résultats des requêtes MySQL avec AND et OR ?

Comment la priorité des opérateurs affecte-t-elle les résultats des requêtes MySQL avec AND et OR ?

Susan Sarandon
Libérer: 2024-12-25 18:46:10
original
302 Les gens l'ont consulté

How Does Operator Precedence Affect MySQL Query Results with AND and OR?

Prépondérance des opérateurs booléens dans MySQL

Les requêtes exploitent souvent des opérateurs logiques comme OR et AND pour filtrer et récupérer des données spécifiques. Comprendre la priorité de ces opérateurs est crucial pour garantir que les requêtes s'exécutent comme prévu.

Dans MySQL, la priorité des opérateurs 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, les 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%";
Copier après la connexion

Selon la documentation, le Les opérateurs OR et AND ont la même priorité. Cette requête peut donc être interprétée de deux manières :

  1. Parenthèses d'abord :

    ((display = 1) OR (display = 2)) AND ((content LIKE "%hello world%") OR (tags LIKE "%hello world%") OR (title LIKE "%hello world%"))
    Copier après la connexion
  2. De gauche à droite évaluation :

    (display = 1 OR display = 2) AND (content LIKE "%hello world%") OR (tags LIKE "%hello world%" OR title LIKE "%hello world%")
    Copier après la connexion

Pour éviter toute ambiguïté, il est recommandé d'utiliser des parenthèses pour regrouper les expressions et définir explicitement la priorité des opérateurs. Par exemple :

SELECT * FROM tablename
WHERE
    (display = 1 OR display = 2) AND
    (content LIKE "%hello world%" OR tags LIKE "%hello world%" OR title LIKE "%hello world%");
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal