在一些条件查询过程中,我们需要同时使用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同时使用的注意事项相关推荐

  1. 在LINQ to SQL中使用Translate方法以及修改查询用SQL

    目前LINQ to SQL的资料不多--老赵的意思是,目前能找到的资料都难以摆脱"官方用法"的"阴影".LINQ to SQL最权威的资料自然是MSDN,但是M ...

  2. sql中“delete from 表名”表示_SQL查询语句知识点总结

    为什么要学习SQL? 数据分析岗位的基础技能:SQL语句和会使用SQL语句操纵数据库软件: 数据量增大的工具需求:excel处理十万以内的数据:数据量增大,需要使用更快速便捷的工具分析数据. SQL知 ...

  3. sql中截取字符串函数_SQL Server 2017中的顶级SQL字符串函数

    sql中截取字符串函数 SQL Server 2017 has been in the talk for its many features that simplify a developer's l ...

  4. SQL中的函数:单值函数、聚合函数

    前言 单值函数 单值函数的定义 首先什么是单值函数,单值单值就是单个输入,操作单个变量或数值的函数. 具体的特性如下: 操作数据对象 接受参数返回一个结果 只对一行进行变换 每行返回一个结果 可以嵌套 ...

  5. SQL 中循环、for循环、游标

    我们使用SQL语句处理数据时,可能会碰到一些需要循环遍历某个表并对其进行相应的操作(添加.修改.删除),这时我们就需要用到咱们在编程中常常用的for或foreach,但是在SQL中写循环往往显得那么吃 ...

  6. SQL中的case when then else end用法

    2019独角兽企业重金招聘Python工程师标准>>> Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sexWHEN '1' THEN ...

  7. 在SQL中使用CRL函数示例

    在SQL中使用CRL函数 实验目标: 1. 在SQL中创建CRL函数,使之能够向指定的计算机发送消息 实验步骤 2. 在VS中创建类发送消息的类 3. 将以下代码黏贴进去 using System; ...

  8. pl/sql中三种游标循环效率对比

    pl/sql中三种游标循环效率对比 - Oracle数据库栏目 - 红黑联盟 http://www.2cto.com/database/201307/224636.html 转载于:https://b ...

  9. SQL中内连接、外连接、交叉连接

    SQL中内连接.外连接.交叉连接 SQL连接可以分为内连接.外连接.交叉连接. 数据库数据:            book表                                      ...

最新文章

  1. Gson应用:利用map和list来拼装Json消息
  2. SpringMVC+Mybatis+MySQL配置Redis缓存
  3. learnpython有中文版吗_简介 | Learn Python the Hard Way 中文版
  4. SqlHelper详解(转载)
  5. LevelDb实现原理
  6. HTML5 表单相关
  7. Ajax的JSP示例以及相关知识介绍,适合于入门者
  8. python使用python-docx导出word
  9. 攻击者接管账户,攻陷周下载量超700万次的JavaScript 流行库 ua-parser-js
  10. Missing artifact com.oracle:ojdbc6:jar:11.2.0.3 Maven中不能引入ojdbc解决方法,错误
  11. ARM开发7.3.2 基础实训( 2 ) 单个按键的输入系统设计( 2)--LPC21XX
  12. Sicily 1094 Cude解题报告
  13. 思科模拟器Cisco Packet Tracer的下载
  14. 移动端隐藏手机虚拟键盘
  15. 在windows服务器部署mysql,局域网内操作
  16. Makefile里的wildcard 理解
  17. 2020年年度总结(致敬自己)
  18. 一些关于网页设计的优秀网站
  19. 解析Linux中的系统安全及应用(二)
  20. humanoid ik unity 配件 animation的问题

热门文章

  1. 高德地图实现多点标注marker和动态信息窗体
  2. android4.2.2的彩蛋,食物语彩蛋都有哪些_食物语彩蛋大全介绍
  3. pycharm每次新建项目都会创建虚拟环境问题,导致很多库安装后无法导入
  4. 好用的录音机软件有哪些?这些软件值得收藏
  5. 手动刷入Android 4.4.1 KOT49E OTA更新包
  6. 十年磨一剑 | 《腾讯大数据构建之道》正式出版
  7. 对抗人脸识别的一个新方法:隐藏身份、随机换脸
  8. 关于操作access遇到的问题以及解决办法
  9. 英语对话计算机,关于计算机的英语对话
  10. 凯文·凯利斯坦福演讲 预言未来20年科技潮流