Toán tử IN() cho phép lọc nhiều giá trị cụ thể trong một cột thay vì dùng nhiều OR.
Tạo bảng khách hàng
mysql> CREATE TABLE DemoTable(
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
CustomerName VARCHAR(100)
);
Query OK, 0 rows affected (0.51 sec)
Chèn dữ liệu
mysql> INSERT INTO DemoTable(CustomerName) VALUES('Adam Smith');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable(CustomerName) VALUES('Chris Brown');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable(CustomerName) VALUES('David Miller');
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable(CustomerName) VALUES('Carol Taylor');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable(CustomerName) VALUES('Carol Taylor');
Query OK, 1 row affected (0.13 sec)
Lọc ID = 2 và 5
mysql> SELECT * FROM DemoTable WHERE Id IN(2, 5);
Kết quả:
+----+--------------+ | Id | CustomerName | +----+--------------+ | 2 | Chris Brown | | 5 | Carol Taylor | +----+--------------+ 2 rows in set (0.00 sec)
Ưu điểm: Cú pháp gọn gàng, dễ đọc, hiệu năng tốt hơn so với chuỗi OR dài. Cũng dùng được với subquery: WHERE Id IN (SELECT Id FROM OtherTable).