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

MySQL truy vấn tìm khớp và lấy bản ghi bằng IN()

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.