Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Hiển thị bản ghi được chọn với toán tử IN() trong MySQL

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).