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. mysql - 分庫(kù)分表、分區(qū)、讀寫分離 這些都是用在什么場(chǎng)景下 ,會(huì)帶來(lái)哪些效率或者其他方面的好處2. javascript - vue2.0中,$refs對(duì)象為什么用駝峰的方式獲取不到屬性?3. python bottle跑起來(lái)以后,定時(shí)執(zhí)行的任務(wù)為什么每次都重復(fù)(多)執(zhí)行一次?4. javascript - 求幫助 , ATOM不顯示界面!!!!5. html5 - HTML代碼中的文字亂碼是怎么回事?6. javascript - vue2如何獲取v-model變量名7. javascript - ios返回不執(zhí)行js怎么解決?8. javascript - 能否讓vue-cli的express修改express重啟服務(wù)9. javascript - angular使從elastichearch中取出的文本高亮顯示,如圖所示10. python - 爬蟲模擬登錄后,爬取csdn后臺(tái)文章列表遇到的問題
