Mysql 简明教程
MySQL - OR Operator
MySQL OR Operator
MySQL 没有内置的布尔数据类型。相反,布尔值使用数字数据类型表示,其中零用作 false ,任何非零值用作 true 。
MySQL OR 运算符是一种逻辑运算符,它结合两个或多个布尔表达式并返回 1、0 或 NULL:
A AND B
此处, A 和 B 是运算数。
-
当 A 和 B 或两者中任意一个为非零且非空值时,OR 运算符才返回真 ( 1 )。
-
如果 A 和 B 均为假,则 OR 运算符将返回假 ( 0 )。
-
如果 A 或 B 任一为空值,则 OR 运算符将返回 NULL 。
下表演示了使用 OR 运算符组合真 (1)、假 (0) 和空值可能的输出:
OR operator with WHERE
MySQL 的逻辑 OR 运算符可与 WHERE 子句一起使用,以返回满足任何指定条件的行。
当使用 OR 运算符时,必须至少满足一个条件,行才能包含在结果集中。如果没有任何条件为真,则返回空集。
Syntax
以下是在 MySQL 中带有 WHERE 子句的 OR 运算符的语法:
SELECT column1, column2, ..., columnN
FROM table_name
[WHERE condition1 OR condition2 OR condition3 ...;]
Example
首先,让我们使用以下查询创建一个名为 CUSTOMERS 的表 −
CREATE TABLE CUSTOMERS (
ID INT AUTO_INCREMENT,
NAME VARCHAR(20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
以下 INSERT INTO 语句将 7 条记录添加到上面创建的表中:
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES
(1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ),
(2, 'Khilan', 25, 'Delhi', 1500.00 ),
(3, 'Kaushik', 23, 'Kota', 2000.00 ),
(4, 'Chaitali', 25, 'Mumbai', 6500.00 ),
(5, 'Hardik', 27, 'Bhopal', 8500.00 ),
(6, 'Komal', 22, 'Hyderabad', 4500.00 ),
(7, 'Muffy', 24, 'Indore', 10000.00 );
执行以下查询以检索 CUSTOMERS 表中存在的所有记录 −
SELECT * FROM CUSTOMERS;
以下为 CUSTOMERS 表 −
现在,我们正在从 CUSTOMERS 表中选择 SALARY 大于 5000 或 ADDRESS =“Hyderabad”的所有列。
SELECT * FROM CUSTOMERS
WHERE SALARY > 5000
OR ADDRESS = "Hyderabad";
Multiple OR Operators
我们可以多次使用MySQL的逻辑OR运算符组合多个条件。通过使用多个OR运算符,满足至少一个条件的任何行都将包含在结果集中。
OR with UPDATE statement
MySQL的逻辑OR运算符可以与 UPDATE 一起使用,基于多个条件更新表的记录。
Syntax
以下是MySQL中UPDATE语句与OR运算符的语法——
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition1 OR condition2 OR ...;