加入收藏 | 设为首页 | 会员中心 | 我要投稿 草根网 (https://www.1asp.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

SQL Or运算符

发布时间:2022-11-26 13:04:24 所属栏目:教程 来源:
导读:  在本教程中,您将学习如何使用SQL OR运算符组合两个布尔表达式。

  1. SQL OR运算符简介

  SQL OR是一个逻辑运算符,它组合两个布尔表达式。 SQL OR运算符计算结果返回true或false,具体取决于表达

  在本教程中,您将学习如何使用SQL OR运算符组合两个布尔表达式。
 
  1. SQL OR运算符简介
 
  SQL OR是一个逻辑运算符,它组合两个布尔表达式。 SQL OR运算符计算结果返回true或false,具体取决于表达式的结果。
 
  OR运算符通常用于在SELECT,UPDATE或DELETE语句的WHERE子句中,以形成灵活的条件。
 
  以下说明了SQL OR运算符的语法:
 
  SELECT
      column1,
      column2,
          ...
  FROM
      table1
  WHERE
      expression1
  OR expression2;
  下表显示了比较true,false和NULL值时OR运算符的结果。
 
  TRUEFALSENULL
 
  TRUE
 
  TRUE
 
  TRUE
 
  TRUE
 
  FALSE
 
  TRUE
 
  FALSE
 
  NULL
 
  NULL
 
  TRUE
 
  NULL
 
  NULL
 
  请注意,如果任一表达式为true,则OR运算符始终返回true。
 
  如果数据库系统支持短路功能,则只要一个表达式为真,OR运算符就会停止评估条件的其余部分。
 
  注意,短路功能可以帮助数据库系统通过在确定结果后立即中止处理逻辑表达式的剩余部分来节省CPU计算。 有关短路功能的更多信息,请查看SQL AND运算符教程。
 
  将OR运算符与AND运算符一起使用时,数据库系统会在AND运算符之后计算OR运算符。 它叫作优先规则。 但是,可以使用括号更改评估顺序。
 
  2. SQL OR运算符示例
 
  我们将使用示例数据库中的employees表来演示OR运算符。
 
  mysql> DESC employees;
  +---------------+--------------+------+-----+---------+----------------+
  | Field         | Type         | Null | Key | Default | Extra          |
  +---------------+--------------+------+-----+---------+----------------+
  | employee_id   | int(11)      | NO   | PRI | NULL    | auto_increment |
  | first_name    | varchar(20)  | YES  |     | NULL    |                |
  | last_name     | varchar(25)  | NO   |     | NULL    |                |
  | email         | varchar(100) | NO   |     | NULL    |                |
  | phone_number  | varchar(20)  | YES  |     | NULL    |                |
  | hire_date     | date         | NO   |     | NULL    |                |
  | job_id        | int(11)      | NO   | MUL | NULL    |                |
  | salary        | decimal(8,2) | NO   |     | NULL    |                |
  | manager_id    | int(11)      | YES  | MUL | NULL    |                |
  | department_id | int(11)      | YES  | MUL | NULL    |                |
  +---------------+--------------+------+-----+---------+----------------+
  10 rows in set
  以下声明查找了1997年或1998年加入公司的所有员工。
 
  SELECT
      first_name, last_name, hire_date
  FROM
      employees
  WHERE
      YEAR (hire_date) = 1997 OR YEAR (hire_date) = 1998
  ORDER BY
      first_name, last_name;
  执行上面示例代码,得到以下结果 -
 
  54次级好运符在哪换长者好运符_mssql 运算符_丙申年符化太岁符图片
 
  要查找1997年或1998年加入公司并在部门ID为3中工作的所有员工,可以使用AND和OR运算符,如下所示:
 
  SELECT
      first_name, last_name, hire_date, department_id
  FROM
      employees
  WHERE
      department_id = 3
  AND (
      YEAR (hire_date) = 1997
      OR YEAR (hire_date) = 1998
  )
  ORDER BY
      first_name, last_name;
  执行上面查询语句,得到以下结果 -
 
  mssql 运算符_丙申年符化太岁符图片_54次级好运符在哪换长者好运符
 
  如果不使用括号,查询将检索1997年加入公司并在部门ID为3工作的员工或1998年加入公司的员工(不限部门是哪个)。
 
  这是因为数据库系统在AND运算符之后计算OR运算符。
 
  SELECT
      first_name, last_name, hire_date, department_id
  FROM
      employees
  WHERE
      department_id = 3
  AND YEAR (hire_date) = 1997
  OR YEAR (hire_date) = 1998
  ORDER BY
      first_name, last_name;
  执行上面查询语句,得到以下结果 -
 
  54次级好运符在哪换长者好运符_丙申年符化太岁符图片_mssql 运算符
 
  如果查询使用许多OR运算符,则将难以阅读。 要使查询更具可读性mssql 运算符,可以使用IN运算符。
 
  例如,以下查询查找在1990年或1999年或2000年加入公司的所有员工。
 
  SELECT
      first_name,
      last_name,
      hire_date
  FROM
      employees
  WHERE
      YEAR (hire_date) = 2000
  OR YEAR (hire_date) = 1999
  OR YEAR (hire_date) = 1990;
  可以通过IN运算符替换OR运算符,如下所示:
 
  SELECT
      first_name,
      last_name,
      hire_date
  FROM
      employees
  WHERE
      YEAR (hire_date) IN (1990, 1999, 2000)
  ORDER BY
      hire_date;
  执行上面示例代码,得到以下结果 -
 
  +------------+-----------+------------+
  | first_name | last_name | hire_date  |
  +------------+-----------+------------+
  | Alexander  | Lee       | 1990-01-03 |
  | Diana      | Chen      | 1999-02-07 |
  | Kimberely  | Yang      | 1999-05-24 |
  | Karen      | Zhang     | 1999-08-10 |
  | Min        | Su        | 1999-12-07 |
  | Charles    | Yang      | 2000-01-04 |
  +------------+-----------+------------+
  6 rows in set
  在本教程中,您已经学习了如何使用SQL OR运算符组合两个布尔表达式以形成灵活的条件。
 

(编辑:草根网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章