zoukankan      html  css  js  c++  java
  • AND、OR运算符的组合使用

    6.2.3  AND、OR运算符的组合使用

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

    condition1
    OR   condition2
    AND   condition3

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

    condition1
    OR   (condition2 AND condition3)

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


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

    假如须要查询全部计算机系和生物系中。且工资收入(SAL)超过1000的教师的姓名(TNAME)、系(DNAME)、工资(SAL)信息。假设採用例如以下SQL代码:

    SELECT  TNAME, DNAME, SAL
    FROM   TEACHER
    WHERE    DNAME='计算机'
    OR   DNAME='生物'
    AND   SAL>1000
    ORDER BY  SAL
    .执行结果如图6.5所看到的。

     
    图6.5  计算机系或者生物系中工资大于1000的教师

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

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

    执行结果如图6.6所看到的。

     
    图6.6  计算机系和生物系中工资大于1000的教师

    能够发现,当在OR运算符连接的两个条件加上括号( )后,得到了须要的查询结果。

    这是由于,括号( )的优先级高于AND运算符,运行过程就先于AND运算符。

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

  • 相关阅读:
    springMVC源码分析
    世界近代史二
    世界近代历史
    UVA
    UVA
    UVA
    Web 前端开发学习之路(入门篇)
    01 Linux入门介绍
    2. Python基本知识
    1. 初识Python
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/6812659.html
Copyright © 2011-2022 走看看