美好的一天,我是一名新手程序员。我想问一下我的代码有什么问题?我希望先生/女士在名字,中间名和姓氏中用字母“a”查看用户,状态等于1,而usertype不等于单词“Admin”。
下面的代码显示了其他用户记录,甚至是usertype是Admin。先生,请帮帮我。
这是我的代码:
SELECT * FROM users WHERE usertype != 'Admin' AND firstname LIKE '%a%' OR middlename LIKE '%a%' OR lastname LIKE '%a%' AND userstatus = '1'
请帮帮我。我在这里看到一些使用多个喜欢的帖子,抱歉,如果我的英语太差了。谢谢你
答案 0 :(得分:3)
我假设您要对LIKE
语句进行分组。您可以使用括号,如下所示:
SELECT * FROM users
WHERE usertype != 'Admin'
AND (
firstname LIKE '%a%'
OR middlename LIKE '%a%'
OR lastname LIKE '%a%'
)
AND userstatus = '1'
或者按照你想要的方式放置它们。但是我会建议你阻止这样的声明,因为它可能会变得非常糟糕,特别是当野生人物都在两边时。但我认为这只是一个例子。
编辑:请参阅here获取小提琴。
答案 1 :(得分:1)
SELECT * FROM users WHERE usertype != 'Admin' AND (firstname LIKE '%a%' OR middlename LIKE '%a%' OR lastname LIKE '%a%') AND userstatus = '1'