ASP(SQL)中的“and”与“or”的先后顺序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP(SQL)中的“and”与“or”的先后顺序相关的知识,希望对你有一定的参考价值。

在数字线路中学过“and”相当与“X”,“or”相当与“+”

aa and bb or cc or dd

这里先计算aa and bb 然后再计算cc dd
如要先运算cc dd就加括号,aa and (bb or cc or dd)

但在asp中有()这一说明么

现程序功能如下:
首先判断用户user表中的username字段是否等于变量ID,(用途是:将该行内容显示在表格中,....代表表格)
继续判断该行中的lx字段是否等于1或2,如有一项符合,就显示下面的表内容,不是数字1或2表格自动不显示的(....代表表格)

程序如下:
set rs15=server.createobject("adodb.recordset")
sql15="select * from user where username = '"&id&"' and lx=1 or lx=2"
rs15.open sql15,conn,3,2
if not rs15.eof then

......................
end if

问题:关键就是,如果合理利用and 与 or?
如where后面不能这样使用,再来一个if xxxthen end if也可,只要实现功能就可

看了就回贴哦!谢谢~~~~

参考技术A 正确执行顺序:
1.NOT
2.AND
3.OR
最先执行Not,然后是AND,最后执行OR
参考技术B or优先...

这种情况用()括号
参考技术C 不太清楚 参考技术D select * from user where username = '"&id&"' and ( lx=1 or lx=2)

搞定ok了。本回答被提问者采纳

SQL选择语句与WHERE,AND,OR

我想用MySQL执行SELECT查询。我的目标是选择兽医数据库中的所有狗,这些狗将是sex=malefur=short和(color=black or size=big

注意:我想选择黑色或大小的狗。它们不必满足2个要求。他们只需要完成其中任何一个。

我在下面编写了SQL语句,但我不确定我是否正确:

SELECT name, sex, fur, color 
FROM dogs 
WHERE TRUE sex='male' AND fur='short' AND color='black' OR size="big";

请原谅我的措辞,如果它太混乱了。

答案

根据Operator precedence for MySQL AND的优先级高于OR

所以C1 AND C2 OR C3将被视为(C1 AND C2) OR C3

要覆盖默认优先级,您需要使用括号:C1 AND (C2 OR C3)

在您的情况下,正确的查询是:

SELECT name, sex, fur, color 
FROM dogs 
WHERE sex='male' AND fur='short' AND (color='black' OR size="big");
另一答案

确保添加括号,以便正确评估OR条件。

SELECT name, sex, fur, color 
FROM dogs 
WHERE sex='male' AND fur='short' AND (color='black' OR size='big');
另一答案

在目标描述中使用括号的方式是正确的。语法是:

SELECT name, sex, fur, color 
    FROM dogs 
    WHERE sex="male" AND fur="short" AND (color="black" OR size="big");
另一答案

我用过它和它的工作;

SELECT name, sex, fur, color 
FROM dogs 
WHERE sex="male" AND fur="short" AND (color="black" || size="big");
另一答案

选择名字,性别,皮毛,颜色来自狗的性别='男性'和毛皮='短'和(颜色='黑色'或尺寸='大');

以上是关于ASP(SQL)中的“and”与“or”的先后顺序的主要内容,如果未能解决你的问题,请参考以下文章

关于sql中or 和and的问题。(在线等)

SQL注入 绕过and和or过滤

关于asp.net中页面事件加载的先后顺序

SQL -------- WHERE子句与AND,OR和NOT运算符结合使用。

and和or的优先级

sql语句中的关键字有优先级,以及执行顺序吗?