[英]MYSQL join query not to show specific condition not working?
我有以下查詢,我試圖在其中搜索first_name或last_name或電子郵件,但其中不包括任何其中role_id <> 0的查詢:這是查詢:
select *, `users`.`id` as `user_id`
from `users`
inner join `roles` on `users`.`role_id` = `roles`.`id`
where `users`.`first_name` LIKE %test%
or `users`.`last_name` LIKE %test%
or `users`.`email` LIKE %test%
and `users`.`role_id` <> 0
order by `first_name` asc limit 2 offset 0
這無法正常顯示Role_id = 0的用戶嗎? 你能解釋為什么嗎? 以及如何解決
謝謝
select *, `users`.`id` as `user_id`
from `users`
inner join `roles` on `users`.`role_id` = `roles`.`id`
where (`users`.`first_name` LIKE %test%
or `users`.`last_name` LIKE %test%
or `users`.`email` LIKE %test% )
and `users`.`role_id` <> 0
order by `first_name` asc limit 2 offset 0
方括號有助於區分邏輯與邏輯。 沒有括號,您說的是:
名字匹配或名字匹配或(電子郵件匹配和角色標識匹配)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.