美文网首页
关于Sql语句中关键字OR

关于Sql语句中关键字OR

作者: Broccoli_a9a4 | 来源:发表于2019-05-13 11:07 被阅读0次

最近在写sql语句中要使用or这个关键字,


使用场景是:

当字段x满足条件a  或  字段y满足条件b时,

把条件成立的记录列出来,

即当前后条件同时成立时,则把前后条件成立的所有记录列出来。


而我纠结的点在于

当"前条件成立"时,后条件也成立时,

程序会不会因为前条件成立之后,后条件就不再执行了,从而只会显示前条件成立的记录。

(因为在java代码中的运算符 ||   就是这么执行的)


在网上简单查了下相关资料,并没能找到很确切的答案,在一个和我的问题很相似的悬赏问答中,下面的回答五花八门,总体分为两种,一种是:前条件满足之后,后条件就不会再执行了,一种是,当前后条件同时成立时,满足前后条件成立的所有记录都会被列出来,本来我是倾向于第二点的,当由于有了争议,最终我还是决定动手自己实践下,这样更靠谱,实践出真知嘛。


利用已有的现成表,将字段dealer_code的第一条记录设置为0,将create_by_user_id的第二条记录设置为1。

执行语句

结果

两条记录都显示出来了


所以结论:当前后条件同时成立时,则满足前后条件成立的所有记录均会列出来。

顺便拓展了下关于AND,OR,NOT的执行顺序,

关系型运算符优先级高到低为:NOT >AND >OR

相关文章

网友评论

      本文标题:关于Sql语句中关键字OR

      本文链接:https://www.haomeiwen.com/subject/ydtlaqtx.html