Sql Microsoft Access数据库-其中字段不相等
我有一个疑问:Sql Microsoft Access数据库-其中字段不相等,sql,select,ms-access-2010,Sql,Select,Ms Access 2010,我有一个疑问: SELECT Users.FirstName, Users.LastName, Users.UserEmail FROM Users WHERE Users.FirstName LIKE '%1%' OR Users.LastName LIKE '%1%' OR Users.UserEmail LIKE '%a%' AND Users.UserEmail <> 'a@a.a'; 选择Users.FirstName、Us
SELECT Users.FirstName, Users.LastName, Users.UserEmail
FROM Users
WHERE Users.FirstName LIKE '%1%' OR
Users.LastName LIKE '%1%' OR
Users.UserEmail LIKE '%a%' AND
Users.UserEmail <> 'a@a.a';
选择Users.FirstName、Users.LastName、Users.UserEmail
来自用户
其中Users.FirstName类似于“%1%”或
Users.LastName,如“%1%”或
Users.UserEmail,如“%a%”和
Users.UserEmail'a@a.a';
其中,LIKE中的内容是“a”“我没有收到电子邮件”a@a.a'因此,如果例如,与此电子邮件相关的名字或姓氏包含字符1,我将在结果中获得此电子邮件
我的问题是为什么以及如何预防它?
谢谢您需要用括号将“或”括起来
SELECT Users.FirstName, Users.LastName, Users.UserEmail
FROM Users
WHERE
(
Users.FirstName LIKE '%1%' OR
Users.LastName LIKE '%1%' OR
Users.UserEmail LIKE '%a%'
)
AND
Users.UserEmail <> 'a@a.a';
选择Users.FirstName、Users.LastName、Users.UserEmail
来自用户
哪里
(
Users.FirstName,如“%1%”或
Users.LastName,如“%1%”或
Users.UserEmail,如“%a%”
)
及
Users.UserEmail'a@a.a';
原因是,只要满足第一个“或”条件,那么“非”部分就无关紧要,因为它没有用括号分隔
SELECT Users.FirstName, Users.LastName, Users.UserEmail
FROM Users
WHERE
(
Users.FirstName LIKE '%1%' OR
Users.LastName LIKE '%1%' OR
Users.UserEmail LIKE '%a%'
)
AND
Users.UserEmail <> 'a@a.a';