Maison >base de données >tutoriel mysql >Comment MySQL gère-t-il les opérateurs OR et AND dans les requêtes ?
Précédence MySQL OR/AND
Comprendre la priorité des opérateurs est crucial lors de l'élaboration de requêtes MySQL. Dans l'exemple fourni, vous souhaitiez sélectionner des lignes où display = 1 ou 2 et où l'un des contenus, balises ou titres contient "hello world".
Selon la documentation MySQL, la priorité des opérateurs logiques est la suivante :
Par conséquent, la requête que vous avez fournie serait interprétée comme :
(display = 1) OR ( (display = 2) AND (content like "%hello world%") ) OR (tags like "%hello world%") OR (title like "%hello world%")
Pour assurez-vous que vos intentions sont claires, pensez à utiliser explicitement les parenthèses, en particulier lorsqu'il s'agit d'expressions complexes. Une version plus explicite de la requête pourrait ressembler à ceci :
( (display = 1) OR (display = 2) ) AND ( (content like "%hello world%") OR (tags like "%hello world%") OR (title like "%hello world%") )
Cela montre sans ambiguïté que les opérateurs OR et AND s'appliquent comme prévu.
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!