学习笔记--《MySQL必知必会》--第七章

第七章 数据过滤

  • 操作符(operator) 用来联结或改变WHERE子句中的子句的关键字。也称为逻辑操作符(logical operator)。

  • MySQL允许给出多个WHERE子句。这些子句可以两种方式使用:以AND子句的方式或OR子句的方式使用。

    • AND操作符:AND 用在WHERE子句中的关键字,用来指示检索满足所有给定条件的行。

    • OR操作符:OR WHERE子句中使用的关键字,用来表示检索匹配任一给定条件的行。

    • 计算次序:SQL(像多数语言一样)在处理OR操作符前,优先处理AND操作符。任何时候使用具有AND和OR操作符的WHERE子句,都应该使用圆括号明确地分组操作符,不要过分依赖默认计算次序。

    • IN操作符:IN WHERE子句中用来指定要匹配值的清单的关键字,功能与OR
      相当。

      # IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配。IN取合法值的由逗号分隔的清单,全都括在圆括号中。
      # SELECT column1_name 
      # FROM table1_name 
      # WHERE column1_name BETWEEN a AND b;
      
      SELECT column1_name 
      FROM table1_name 
      WHERE column1_name IN (a,b);
      

      使用IN操作符的优点

      • 在使用长的合法选项清单时,IN操作符的语法更清楚且更直观。
      • 在使用IN时,计算的次序更容易管理(因为使用的操作符更少)。
      • IN操作符一般比OR操作符清单执行更快。
      • IN的最大优点是可以包含其他SELECT语句,使得能够更动态地建立WHERE子句。
    • NOT操作符:NOT WHERE子句中用来否定后跟条件的关键字。

      MySQL支持使用NOT 对IN 、BETWEEN 和EXISTS子句取反,这与多数其他DBMS允许使用NOT对各种条件取反有很大的差别。

你可能感兴趣的:(学习笔记--《MySQL必知必会》--第七章)