我正在尝试运行一个SQL查询,以根据当前日期和两个类似条件来过滤数据,此代码的问题是它向我显示了所有日期的数据
如果我只在一个类似条件下运行代码,它将正常工作
SELECT * FROM `attendance` WHERE date = CURDATE() and Teamname LIKE '%SOUQ%'
但是下面的代码不能正常工作(给出所有日期的结果)
SELECT * FROM `attendance` WHERE date = CURDATE() and TeamName LIKE '%NOON%' OR Teamname LIKE '%SOUQ%'
请在这里告诉我我做错了什么。
答案 0 :(得分:0)
您需要在()(...或...)周围加上(),AND运算符的优先级高于or运算符
SELECT * FROM `attendance`
WHERE date = CURDATE()
and ( TeamName LIKE '%NOON%' OR Teamname LIKE '%SOUQ%')
如果您不使用(),则代码也相等
WHERE( date = CURDATE()
and TeamName LIKE '%NOON%' )
OR Teamname LIKE '%SOUQ%')