SQL Where语句中AND与OR的计算次序 .
AND 用在where子句中,用来指示检索满足所有给定条件的行,而OR用在where子句中,用来指示检索匹配任一给定条件的行。
Where子句中可包含任意数目的AND和OR操作符号,但是要注意在SQL规范中AND操作符的优先级要高于OR操作符。
若一时大意,操作符就会被错误组合,查询出来的结果也是与自己期望南辕北辙了。
假如需要列出价格为5元以上且由瑞兴生物制药公司或星城制药厂生产的所有产品
- Select prod_name,prod_price From Products Where supply like '瑞兴%' or supply like '星城%' And prod_price>=10
Select prod_name,prod_price From Products Where supply like '瑞兴%' or supply like '星城%' And prod_price>=10
- prod_name prod_price
prod_name prod_price
- 苯唑西林钠(苯唑青霉素) 6.50
- 头孢氨苄 13.50
- 头孢羟氨苄 8.00
- 硫酸庆大霉素 15.00
- 红霉素 5.50
苯唑西林钠(苯唑青霉素) 6.50
头孢氨苄 13.50
头孢羟氨苄 8.00
硫酸庆大霉素 15.00
红霉素 5.50
这个查询的结果与自己期望的结果不一致。
- 硫酸庆大霉素 15.00
硫酸庆大霉素 15.00
此问题就是由于使用OR、AND操作符默认计算次序造成的,解决的方法就是使用括号明确地分组相应的操作符。
- 任何时候使用具有AND和OR操作的where子句,都应该使用括号明确地分组操作符消除歧义,不要过分的依赖默认计算次序。
SQL Where语句中AND与OR的计算次序 .的更多相关文章
- 关于sql查询语句中的别名
sql语句中给子查询或其他查询类型加别名的时候可能会报错 java.sql.SQLException: 无法转换为内部表示 原因是select返回类型的实体类中没有写该别名 原来的实体类 更改后的实体 ...
- SQL操作语句中的注意点
一 查询语句 1 distinctkeyword消除反复行 当查询的结果数据中出现反复数据时.在查询条件中加上distinctkeyword消除反复行: 如:select distinct Sno f ...
- SQL查询语句中的 limit offset(转 )
经常用到在数据库中查询中间几条数据的需求 比如下面的sql语句: ① selete * from testtable limit 2,1; ② selete * from testtable limi ...
- 关于SQL连接语句中的Integrated Security=SSPI/ture/false
解决方法:即:Security Support Provider Interface设置Integrated Security为 True 的时候,连接语句前面的 UserID, PW 是不起作用的, ...
- 关于SQL查询语句中的LIKE模糊查询的解释
LIKE语句的语法格式为: select * from 表名 where 字段名 like 对应值(字符串) 注:主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应字符串的. 下面列举 ...
- SQL insert语句中插入带有特殊符号
1.插入数据库字符串中海油单引号,需要转义处理,例如插入“I‘m OK!” SQL语句: INSERT INTO tableTest(FileTXT) VALUES('I''m OK!') 2.如果S ...
- sql查询语句中on和where的区别
sql中的连接查询分为3种, cross join,inner join,和outer join , 在 cross join和inner join中,筛选条件放在on后面还是where后面是没区别 ...
- SQL查询语句中参数带有中文查询不到结果
今天写个小demo的时候发现sql语句里面的username为中文的时候就不能查到正确结果,sql语句如下: String sql = "select * from user where u ...
- sql查询语句中的乱码 -- 前面加N
直接运行sql出出现乱码,在中文字符前加N就能够正常显示了.N的含义就是用nvarchar格式显示.
随机推荐
- tomcat 禁止某些文件(夹)的访问
tomcat 禁止某些文件(夹)的访问 <!-- 不允许访问的文件以及文件夹 --> <security-constraint> <display-name>Tom ...
- loadrunner java协议脚本要点
常见问题 1. Error: Thread Context: Call to service of the driver failed, reason - thread context wasn't ...
- HDU4908——BestCoder Sequence(BestCoder Round #3)
BestCoder Sequence Problem DescriptionMr Potato is a coder.Mr Potato is the BestCoder.One night, an ...
- Java基于Servlet 验证吗
req.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=utf- ...
- 一步一步制作yaffs/yaffs2根文件系统(四)---构建etc、dev等剩余目录
开发环境:Ubuntu 12.04 开发板:mini2440 256M NandFlash 64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本: ...
- A simple json-rpc case for bitcoin blockchains
#!/usr/bin/env python import json import jsonrpc import requests #url = "http://user:password@i ...
- CSS和JavaScript以及Ajax实现预加载图片的方法及优缺点分析
预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画 廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发 ...
- Monitor vs WaitHandle
http://stackoverflow.com/questions/1355398/monitor-vs-waithandle-based-thread-sync A problem with Mo ...
- SQL列数据转换为字符串
行列转换,将列数据转换为字符串输出 ) SET @center_JZHW = ( SELECT DISTINCT STUFF( ( SELECT ',' + ce_code FROM ap_cente ...
- poj2761
表面上看是主席树之类的区间k大 实际上,除了主席树,还可以测各种结构 因为题目中说,任意区间不会完全包含 于是,我们把区间按左端点排序,依次添加,用平衡树求当前的k大 每个狗最多被添加一次,删除一次 ...