欢迎来到天天文库
浏览记录
ID:8980170
大小:26.50 KB
页数:2页
时间:2018-04-13
《sql逻辑运算符的优先级》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、SQL逻辑运算符的优先级疑惑了半个小时,查来查去也没有问题,根本没有往SQL上面想;SELECT*FROMtl_documentationWHEREstorehouse_id=2ORcustomer_id=2ANDproduct_id=20ORDERBYidDESCLIMIT0,30 看上去貌似没有问题,因为以前在我的头脑中,OR,AND的优先级是一样的,手册告诉我想法是错误的.以下列表显示了操作符优先级的由低到高的顺序。排列在同一行的操作符具有相同的优先级。:=
2、
3、,OR,XOR&&,ANDNOTBETWEEN,CASE,WHEN,THEN,ELSE=,<=>,>=,>,<=,
4、<,<>,!=,IS,LIKE,REGEXP,IN
5、&<<,>>-,+*,/,DIV,%,MOD^-(一元减号),~(一元比特反转)!BINARY,COLLATE 于优先级高于或,那customer_id=2ANDproduct_id=20就先执行,然后再和第一个表达式或,全混了,当然得不到想要的结果,加上一个小括号就OK了SELECT*FROMtl_documentationWHERE(storehouse_id=2ORcustomer_id=2)ANDproduct_id=20ORDERBYidDESC
此文档下载收益归作者所有