在Oracle中 sql腳步中的or和and有優先級之分,and的優先級高于or 的。
eg:table
name age
王二 18
王二 28
李四 18
sql1:SELECT a.* FROM table WHERE name='王二' or name='李四' and age=18
結果:李四 18;王二 18;王二 28
原因:sql先運行name='李四' and age=18,然后name='王二' or (name='李四' and age=18 )
sql2:SELECT a.* FROM table WHERE (name='王二' or name='李四' )and age=18
結果:李四 18;王二 18
原因:sql先運行括號里的陳述句,接著運行and
uj5u.com熱心網友回復:
優化級別 從高到低小括號 -> NOT -> AND - > OR
uj5u.com熱心網友回復:
優先級別 not ->and ->oruj5u.com熱心網友回復:
記不住就加括號最穩當轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/22931.html
標籤:基礎和管理
上一篇:neo4j學習摘要
下一篇:非計算機專業能考dba嗎
