SQL中AND和OR同时使用的注意事项
在一些条件查询过程中,我们需要同时使用AND和OR,如果不注意AND和OR的优先级,就会使我们的查询语句出现一些问题。自己刚才就是因为这个问题导致出错。
比如我们有一张学生表,我们想查询出三年级或者四年级的女生。
错误的写法为:
SELECT * FROM STUDENT WHERE GRADE="三年级" or GRADE="四年级" AND GENDER="女"
这里因为AND的优先级大于OR,所以会导致出错。因为这样的书写方式相当于
SELECT * FROM STUDENT WHERE GRADE="三年级" or (GRADE="四年级" AND GENDER="女")
而我们想要的结果是
SELECT * FROM STUDENT WHERE (GRADE="三年级" or GRADE="四年级") AND GENDER="女"
所以在了解他们的优先级很重要。
最简单的方法,就是根据自己的需要加上括号,即增强了代码的可读性,也尽量减少出错。
关系型运算符优先级高到低为:NOT >AND >OR
SQL中AND和OR同时使用的注意事项相关推荐
- 在LINQ to SQL中使用Translate方法以及修改查询用SQL
目前LINQ to SQL的资料不多--老赵的意思是,目前能找到的资料都难以摆脱"官方用法"的"阴影".LINQ to SQL最权威的资料自然是MSDN,但是M ...
- sql中“delete from 表名”表示_SQL查询语句知识点总结
为什么要学习SQL? 数据分析岗位的基础技能:SQL语句和会使用SQL语句操纵数据库软件: 数据量增大的工具需求:excel处理十万以内的数据:数据量增大,需要使用更快速便捷的工具分析数据. SQL知 ...
- sql中截取字符串函数_SQL Server 2017中的顶级SQL字符串函数
sql中截取字符串函数 SQL Server 2017 has been in the talk for its many features that simplify a developer's l ...
- SQL中的函数:单值函数、聚合函数
前言 单值函数 单值函数的定义 首先什么是单值函数,单值单值就是单个输入,操作单个变量或数值的函数. 具体的特性如下: 操作数据对象 接受参数返回一个结果 只对一行进行变换 每行返回一个结果 可以嵌套 ...
- SQL 中循环、for循环、游标
我们使用SQL语句处理数据时,可能会碰到一些需要循环遍历某个表并对其进行相应的操作(添加.修改.删除),这时我们就需要用到咱们在编程中常常用的for或foreach,但是在SQL中写循环往往显得那么吃 ...
- SQL中的case when then else end用法
2019独角兽企业重金招聘Python工程师标准>>> Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sexWHEN '1' THEN ...
- 在SQL中使用CRL函数示例
在SQL中使用CRL函数 实验目标: 1. 在SQL中创建CRL函数,使之能够向指定的计算机发送消息 实验步骤 2. 在VS中创建类发送消息的类 3. 将以下代码黏贴进去 using System; ...
- pl/sql中三种游标循环效率对比
pl/sql中三种游标循环效率对比 - Oracle数据库栏目 - 红黑联盟 http://www.2cto.com/database/201307/224636.html 转载于:https://b ...
- SQL中内连接、外连接、交叉连接
SQL中内连接.外连接.交叉连接 SQL连接可以分为内连接.外连接.交叉连接. 数据库数据: book表 ...
最新文章
- Gson应用:利用map和list来拼装Json消息
- SpringMVC+Mybatis+MySQL配置Redis缓存
- learnpython有中文版吗_简介 | Learn Python the Hard Way 中文版
- SqlHelper详解(转载)
- LevelDb实现原理
- HTML5 表单相关
- Ajax的JSP示例以及相关知识介绍,适合于入门者
- python使用python-docx导出word
- 攻击者接管账户,攻陷周下载量超700万次的JavaScript 流行库 ua-parser-js
- Missing artifact com.oracle:ojdbc6:jar:11.2.0.3 Maven中不能引入ojdbc解决方法,错误
- ARM开发7.3.2 基础实训( 2 ) 单个按键的输入系统设计( 2)--LPC21XX
- Sicily 1094 Cude解题报告
- 思科模拟器Cisco Packet Tracer的下载
- 移动端隐藏手机虚拟键盘
- 在windows服务器部署mysql,局域网内操作
- Makefile里的wildcard 理解
- 2020年年度总结(致敬自己)
- 一些关于网页设计的优秀网站
- 解析Linux中的系统安全及应用(二)
- humanoid ik unity 配件 animation的问题
热门文章
- 高德地图实现多点标注marker和动态信息窗体
- android4.2.2的彩蛋,食物语彩蛋都有哪些_食物语彩蛋大全介绍
- pycharm每次新建项目都会创建虚拟环境问题,导致很多库安装后无法导入
- 好用的录音机软件有哪些?这些软件值得收藏
- 手动刷入Android 4.4.1 KOT49E OTA更新包
- 十年磨一剑 | 《腾讯大数据构建之道》正式出版
- 对抗人脸识别的一个新方法:隐藏身份、随机换脸
- 关于操作access遇到的问题以及解决办法
- 英语对话计算机,关于计算机的英语对话
- 凯文·凯利斯坦福演讲 预言未来20年科技潮流