mysql中的where子句中的過濾語(yǔ)句執(zhí)行順序
問題描述
當(dāng)在where子句中出現(xiàn)了2個(gè)以上的判斷語(yǔ)句的時(shí)候,語(yǔ)句的執(zhí)行順序是什么樣的?如下面這段代碼。
select * from users where username=’admin’ or 1=1 and password=’Dumb’;idusernamepassword1Dumb2Dumb8adminadmin
結(jié)果既返回了用戶名是admin的結(jié)果,又返回了password為Dunb的結(jié)果。那么在where子句中,username=’admin’、1=1、password=’Dumb’是如何進(jìn)行組合,執(zhí)行順序又是什么樣的呢?
問題解答
回答1:優(yōu)先級(jí)別AND > OR
http://dev.mysql.com/doc/refman/5.7/en/operator-precedence.html
select * from users where username=’admin’ or (1=1 and password=’Dumb’);
等價(jià)
所以最后的結(jié)果等價(jià)于select * from users where username=’admin’ or password=’Dumb’;
相關(guān)文章:
1. php多任務(wù)倒計(jì)時(shí)求助2. 數(shù)組排序,并把排序后的值存入到新數(shù)組中3. 默認(rèn)輸出類型為json,如何輸出html4. python中def定義的函數(shù)加括號(hào)和不加括號(hào)的區(qū)別?5. javascript - 有適合開發(fā)手機(jī)端Html5網(wǎng)頁(yè)小游戲的前端框架嗎?6. PHP訂單派單系統(tǒng)7. python的正則怎么同時(shí)匹配兩個(gè)不同結(jié)果?8. javascript - jquery怎么讓a標(biāo)簽跳轉(zhuǎn)后保持tab的樣式9. mysql - sql 左連接結(jié)果union右連接結(jié)果,導(dǎo)致重復(fù)性計(jì)算怎么解決?10. javascript - charles map remote映射問題
