`
suko
  • 浏览: 72560 次
  • 性别: Icon_minigender_1
  • 来自: 富安
社区版块
存档分类
最新评论

sql 语句中 and 和or的优先级比较

阅读更多
and级别高于or

例子:
select * from test where condition1 or condition2 and condition3;

其执行效果与下面的sql等价:
select * from test where condition1 or (condition2 and condition3);


多个and 和 or 混用也是这个道理,相当于把 and 看成乘号(*), 把 or 看成加号(+),这样sql的执行顺序就一目了然了。

最后还是建议大家严格按照业务逻辑写sql,必要的时候毫不吝啬使用括号,就像上面的情况,如果逻辑是:condition1 且 condition2 或者 condition3,那么请写成:
select * from test where (condition1 and condition2) or condition3;
。这样既不会出错,也方便以后查看代码。何乐而不为呢。
分享到:
评论

相关推荐

    关于SQL语句中的AND和OR执行顺序遇到的问题

    问题的根结在SQL语句的AND和OR关键字的执行优先级问题。下面就针对这个问题进行一下测试。 场景 1、有一张学生表Student,表字段包括Id(用户主键)、Name(用户名)、Grade(年级)、Class(班级)、Sex(性别)。...

    SQL语句中OR和AND的混合使用的小技巧

    今天有这样得一个需求,如果登陆人是客服的话,会查询订单是’该客服’以及还没有匹配客服的,刚开始想的是直接在sql语句上拼写 or assigned_id is null 的,测试了一下发现这样的话,前面的其他条件都没有用了 ...

    解决mysql 组合AND和OR带来的问题

    当SQK看到上述WHERE子句时,由于AND在计算次序中优先级更高,操作符被错误的组合了。 此问题的解决方法是使用圆括号明确地分组相应的操作符。 请看下面的SELECT 语句 SELECT prod_name,prod_price FROM pr

    MYSQL常用命令大全

    在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技术的提高。我们给一个应用中使用的用户赋予最恰当的数据库权限。如...

    SQL语法大全

    rs.open SQL语句,conn,3,2 3. SQL常用命令使用方法: (1) 数据记录筛选: sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 like \'%字段值%\'...

    2009达内SQL学习笔记

    or:条件或 (注: and 的优先级比 or 更高,改变优先级可用括号) 如 SELECT prod_id,prod_price,prod_name FROM Products WHERE prod_price<4 OR vend_id=‘DELL’ not:条件非。否定它之后所跟的任何条件 否定...

    SQL 基础--SELECT 查询

    在SQL*Plus中, 你要用一个分号结束每个SQL 语句.(;) 三、SQL*PLUS特征: 字符日期左对齐 数字右对对齐 列名默认大写 SQL PLUS 自己的命令不需以分号“;”结束 四、SQL查询时,数字和日期类型的数据可用...

    oracle逻辑运算符与其优先级简介

    Oracle的逻辑运算符也是用在SQL语句中必不可少的因素,一共有三个 逻辑运算符 意义 and 双值运算符,如果左右两个条件都为真,则得到的值就为真 or 双值运算符,只要左右两个条件有一个为真,则...

    MySQL命令大全

    在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技术的提高。我们给一个应用中使用的用户赋予最恰当的数据库权限。如...

    Common Sense Database

    and 的优先级要高于or ::::::::::::新课:::::::::: 模糊查询 类似于ctrl+f会出现一个搜索框 *就是通配符 like与通配符 ‘%’、’_’ %一个或多个 _ 只能是一个… sql语句提供了模糊查询功能,...

    Java面试宝典2020修订版V1.0.1.doc

    32、SQL语句执行顺序 51 33、null的含义 52 34、mysql分页 52 35、MySQL、SqlServer、oracle写出字符存储、字符串转时间 52 36、update语句可以修改结果集中的数据吗? 53 37、oracle如何设置主键自动增长? 53 38、...

    测试培训教材

    In addition, VAPI-XP is fully integrated with Quality Center, enabling you to design your VAPI-XP test script to call any Quality Center test or test set, and execute it as part of your own script....

    net学习笔记及其他代码应用

    28.SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号 答:Select ID FROM table1 Where ...

    整理后java开发全套达内学习笔记(含练习)

    exist 存在, 发生 [ig'zist] '(SQL关键字 exists) extends (关键字) 继承、扩展 [ik'stend] false (关键字) final (关键字) finally (关键字) fragments 段落; 代码块 ['frægmәnt] FrameWork [java] 结构,...

Global site tag (gtag.js) - Google Analytics