Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để tìm tất cả các bản ghi KHÔNG nằm trong mảng đã đặt với MySQL?

Đối với điều này, bạn có thể sử dụng hàm NOT IN ().

Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable718 (
   Id int,
   FirstName varchar(100),
   Age int
);
Query OK, 0 rows affected (0.59 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable718 values(101,'Chris',26);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable718 values(102,'Robert',24);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable718 values(103,'David',27);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable718 values(104,'Mike',28);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable718 values(105,'Sam',23);
Query OK, 1 row affected (0.14 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable718;

Điều này sẽ tạo ra kết quả sau -

+------+-----------+------+
| Id   | FirstName | Age  |
+------+-----------+------+
| 101  | Chris     | 26   |
| 102  | Robert    | 24   |
| 103  | David     | 27   |
| 104  | Mike      | 28   |
| 105  | Sam       | 23   |
+------+-----------+------+
5 rows in set (0.00 sec)

Đây là truy vấn để tìm tất cả các bản ghi KHÔNG nằm trong mảng đã đặt -

mysql> select *from DemoTable718 where Id NOT IN('101','103','104');

Điều này sẽ tạo ra kết quả sau -

+------+-----------+------+
| Id   | FirstName | Age  |
+------+-----------+------+
| 102  | Robert    | 24   |
| 105  | Sam       | 23   |
+------+-----------+------+
2 rows in set (0.00 sec)