• 技术文章 >Python技术 >Python基础教程

    如何使用mysql查询where条件里的or和and

    2020-11-04 11:27:05原创2003
    为什么要着重讲这块内容呢?因为好多小伙伴都会混淆,要不就是不知道怎么组合使用,今天小编就给大家讲这部分内容干货,让大家半分钟看懂。

    AND、OR运算符的组合使用

    WHERE子句中,通过AND、OR运算符可以同时连接多个条件,当然AND、OR运算符也可以同时使用。但是当AND、OR运算符同时存在时,其优先级如何确定呢?与大多数语言一样,SQL语言认为AND运算符的运算级别要高于OR运算符。即当出现

    condition1
    OR condition2
    AND condition3

    时,其运算实际上是等价于

    condition1
    OR (condition2 AND condition3)

    因此,AND、OR运算符需要同时使用时,一定要注意运算符的优先级。

    实例同时使用AND、OR运算符实现查询

    假如需要查询所有计算机系和生物系中,且工资收入(SAL)超过1000的教师的姓名(TNAME)、系(DNAME)、工资(SAL)信息。如果采用如下SQL代码:

    SELECT TNAME, DNAME, SAL
    FROM TEACHER
    WHERE DNAME='计算机'
    OR DNAME='生物'
    AND SAL>1000
    ORDER BY SAL

    很显然没有得到预期的计算结果,这是因为AND运算符的运算级别要高于OR运算符,代码实际上实现的查询是计算机系的所有教师以及生物系中的工资大于1000的教师的相关信息。要实现例中需要的查询结果,正确的SQL代码为:

    SELECT TNAME, DNAME, SAL
    FROM TEACHER
    WHERE (DNAME='计算机' OR DNAME='生物')
    AND SAL>1000
    ORDER BY SAL

    可以发现,当在OR运算符连接的两个条件加上括号( )后,得到了需要的查询结果。这是因为,括号( )的优先级高于AND运算符,执行过程就先于AND运算符。

    注意 OR运算符和AND运算符同时运用时,建议用户不要考虑其默认的优先级顺序,而是采用括号( )来实现需要的执行顺序,这样可以增强程序的可读性。

    如需了解更多python实用知识,点击进入PyThon学习网教学中心

    专题推荐:使用mysql查询where条件里的or和and
    上一篇:如何使用python输出连续星号? 下一篇:碰到python死循环后要怎么退出结束?

    相关文章推荐

    • 如何使用Python中item()方法遍历字典?• 关于python matplotlib绘图使用详解• 如何实现python绘制混淆矩阵?• 如何使用python中的opengl?• 如何使用python输出连续星号?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网