preponderancia de operadores booleanos en mySql
] consultas a menudo aprovechan a los operadores lógicos como o y para filtrar y recuperar datos específicos. Comprender la precedencia de estos operadores es crucial para garantizar que las consultas se ejecuten según lo previsto.
en MySQL, la precedencia del operador determina el orden en que se evalúan las operaciones. La documentación de MySQL proporciona una lista completa de los niveles de precedencia del operador, con operadores en la parte superior de la lista que tiene mayor precedencia.
Considere la siguiente consulta:
SELECT * FROM tablename WHERE display = 1 OR display = 2 AND content LIKE "%hello world%" OR tags LIKE "%hello world%" OR title LIKE "%hello world%";
de acuerdo con la documentación, el OR y los operadores tienen la misma precedencia. Por lo tanto, esta consulta se puede interpretar de dos maneras:
parenthess primero:
((display = 1) OR (display = 2)) AND ((content LIKE "%hello world%") OR (tags LIKE "%hello world%") OR (title LIKE "%hello world%"))
de evaluación de izquierda a derecha:
(display = 1 OR display = 2) AND (content LIKE "%hello world%") OR (tags LIKE "%hello world%" OR title LIKE "%hello world%")[&] [&] [&] Ambigüedad, es la mejor práctica usar paréntesis para agrupar expresiones y definir explícitamente la precedencia del operador. Por ejemplo:
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3