Kỹ thuật
Sử dụng toán tử IN() để lọc các hàng có giá trị cột nằm trong danh sách cho trước.
1. Tạo bảng
mysql> create table DemoTable (
Id int,
FirstName varchar(20),
Gender ENUM('Male','Female')
);
Query OK, 0 rows affected (1.73 sec)
2. Chèn dữ liệu
mysql> insert into DemoTable values(1,'Chris','Male'); mysql> insert into DemoTable values(10,'Emma','Female'); mysql> insert into DemoTable values(9,'Emma','Male'); mysql> insert into DemoTable values(11,'Isabella','Female');
3. Xem dữ liệu
mysql> select * from DemoTable;
+------+-----------+--------+ | Id | FirstName | Gender | +------+-----------+--------+ | 1 | Chris | Male | | 10 | Emma | Female | | 9 | Emma | Male | | 11 | Isabella | Female | +------+-----------+--------+ 4 rows in set (0.00 sec)
4. Truy vấn tìm ID 1 và 11
mysql> select * from DemoTable where Id IN(1,11);
Kết quả:
+------+-----------+--------+ | Id | FirstName | Gender | +------+-----------+--------+ | 1 | Chris | Male | | 11 | Isabella | Female | +------+-----------+--------+ 2 rows in set (0.00 sec)
Ưu điểm: IN() ngắn gọn, dễ đọc và tối ưu hơn nhiều so với chuỗi OR.