MySQL OR 运算符

MySQL OR 运算符是逻辑运算符之一。通常,我们在 WHERE 子句中使用它来对 SELECT 语句返回的记录应用多个过滤器。此 OR 运算符返回的结果如下:

  • 1,如果所有操作数都不是 NULL,并且其中任何一个操作数为非零。
  • 0,如果所有操作数都不是 NULL,并且它们都是零。
  • NULL,如果其中一个操作数为 NULL,而其余操作数为零,否则为 1。

让我们看看如何在 WHERE 子句中使用逻辑运算符 OR 来过滤数据。为了说明这一点,我们将使用下面显示的数据。

MySQL OR 运算符命令提示符

在此 OR 示例中,我们传递了 1、0 和 NULL 值,并进行了不同的组合。此示例可帮助您理解 OR 运算符背后的真值表。

SELECT 0 OR 0;

SELECT 1 OR 1;

SELECT 1 OR 0;

SELECT 1 OR NULL;

SELECT 0 OR NULL;

SELECT NULL OR NULL;
OR Operator Example 1

MySQL OR 运算符示例

OR 在 WHERE 子句中测试多个条件。如果任一条件为 TRUE,则显示记录。

USE company;
SELECT CustID,
		First_Name, Last_Name,
        Education, Profession,
        Yearly_Income, Sales
FROM customers
WHERE Education = 'High School'
   OR Profession = 'Developer';

上面的 SELECT 语句从 MySQL Customers 表中检索所有教育程度为 High School 或职业为 Developer 的客户(WHERE 子句)。

Example 2

您也可以在三个或四个条件之间使用 OR 运算符。让我们将其应用于三个条件。

USE company;
SELECT CustID,
		First_Name, Last_Name,
        Education, Profession,
        Yearly_Income, Sales
FROM customers
WHERE Education = 'High School'
	OR Profession = 'Developer'
    OR Yearly_Income > 90000;

上述语句从 Customer 表中检索客户,其教育程度为 High School,或职业为 Developer,或年收入大于 90000。

OR Operator Example 3