簡體   English   中英

MYSQL連接查詢不能顯示特定條件不起作用?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM