Mysql 简明教程
MySQL - IN Operator
MySQL In Operator
MySQL 中的 IN 运算符是一个逻辑运算符,它允许我们检查数据库中的值是否存在于 SQL 语句中指定的值列表中。
IN 运算符可用于 SQL 中的任何数据类型。它用于根据指定的值从数据库表中筛选数据。它返回指定列值与列表中的任何一个值匹配的所有行。
在某些情况下,我们可能会使用多个 OR 语句在 SELECT、DELETE、UPDATE 或 INSERT 语句中包含多个条件。您可以使用 IN 子句替换许多 OR 条件
Example
要理解 IN 子句,让我们首先使用以下 CREATE TABLE 语句创建一个名为 CUSTOMERS 的表 −
CREATE TABLE CUSTOMERS (
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
现在,使用 INSERT 语句插入以下记录 −
INSERT INTO CUSTOMERS 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 表中检索名称为“Khilan”、“Hardik”、“Muffy”的记录 −
SELECT * FROM CUSTOMERS
WHERE NAME IN ('Khilan', 'Hardik', 'Muffy');
The IN Operator in UPDATE statement
MySQL UPDATE 语句用于修改数据库表中的现有数据。因此,我们还可以在 UPDATE 语句中使用 IN 运算符(作为筛选器)来更新现有行。
MySQL NOT IN operator
为了否定一个条件,我们使用 NOT 运算符。MySQL IN 运算符可以与 NOT 运算符结合使用,以在 WHERE 子句中排除特定值。
换句话说,将检查表达式中是否缺少列表。