Thứ Tư, 27 Tháng Mười Một 2024
Trang chủPHP & MysqlMySQLTìm hiểu Mệnh đề WHERE IN, WHERE NOT IN trong MySQL

Tìm hiểu Mệnh đề WHERE IN, WHERE NOT IN trong MySQL

Trong bài viết trước chúng ta đã cùng tìm hiểu Mệnh đề WHERE trong MySQL – Mệnh đề điều kiện, và biết cách áp dụng. Trong bài viết này chúng ta sẽ cùng tìm hiểu thêm mệnh đề Where inWhere not in, cách áp dụng Where in và Where not in, Sự khác nhau giữa where và where in, Where not in như thế nào nhé.

DANH SÁCH BÀI VIẾT
Mệnh đề ORDER BY trong MySQL - Mệnh đề sắp xếp bản ghi
Mệnh đề GROUP BY trong MySQL - Mệnh đề nhóm dữ liệu bản ghi
Tìm hiểu Mệnh đề WHERE IN, WHERE NOT IN trong MySQL
Đặt điều kiện sau mệnh đề GROUP BY trong MySQL với HAVING
Câu lệnh TRUNCATE TABLE trong MySQL - Loại bỏ tất cả bản ghi

WHERE IN trong MySQL

Cũng tương tự như mệnh đề WHERE, Mệnh đề WHERE IN cũng là một mệnh đề để lọc các giá trị bản ghi từ điều kiện cụ thể. Tuy nhiên với WHERE IN ta sẽ có thể kiểm tra điều kiện nằm trong một tập hợp các giá trị, thay vì phải sử dụng nhiều điều kiện kết hợp như mệnh đề WHERE.

Cú pháp WHERE IN

SELECT * FROM table
WHERE column_name IN (value1, value2, value3);

Trong đó:

  • table: Tên bảng
  • column_name: Tên cột kiểm tra điều kiện
  • value1, value2, value3: Các giá trị nằm trong tập hợp.

Ví dụ áp dụng

Mình có bảng users như bên dưới đây.

Tìm hiểu Mệnh đề WHERE IN, WHERE NOT IN trong MySQL

Để lấy ra các user có id là 6,10,11,13,15. Thay vì sử dụng mệnh đề where kết hợp nhiều cầu điều kiện WHERE id = 6 OR id = 10 OR id = 11…., như vậy quá dài dòng nếu trong trường hợp cần lấy rất nhiều user theo id.

Khi sử dụng mệnh đề WHERE IN sẽ ngắn gọn hơn rất nhiều. Viết SQL đầy đủ như sau.

SELECT * FROM users
WHERE id IN (6,10,11,13,15);

Và đây là kết quả khi thực hiện câu lệnh.

kết quả mệnh đề where in

Như vậy các hàng có id thuộc vào tập giá trị trên đã được đưa ra kết quả.

WHERE NOT IN trong MySQL

WHERE NOT IN cách hoạt động hoàn toàn đối ngược với WHERE IN. Thay vì lấy các record có điều kiện nằm trong tập hợp, WHERE NOT IN sẽ loại bỏ các record thuộc vào tập giá trị.

Cú pháp where not in

SELECT * FROM table
WHERE column_name NOT IN (value1, value2, value3);

Cũng với ví dụ bên trên, viết lệnh SQL để lấy ra các user có id không thuộc vào tập id bên trên.

SELECT * FROM users
WHERE id NOT IN (6,10,11,13,15);

Và đây là kết quả khi thực hiện câu lệnh.

kết quả mệnh đề where not in

Như vậy các user có id thuộc vào tập trên đã bị loại bỏ.

Cảm ơn bạn đã đọc hết bài viết, hy vọng qua bài viết này bạn đã nắm rõ và áp dụng được WHERE IN và WHERE NOT IN vào các bài toán thực tế! CHúc bạn học TỐT!!

[XEM CÁC BÀI VIẾT CHUYÊN ĐỀ HỌC MYSQL CƠ BẢN TẠI ĐÂY]

XEM THÊM
Câu lệnh INSERT INTO trong MySQL – Lệnh chèn dữ liệu vào bảng
Câu lệnh CREATE TABLE trong MySQL – Lệnh tạo bảng mới
Các kiểu dữ liệu trong MySQL (Data Types) – Học MySQL
Câu lệnh SELECT trong MySQL – Khi nào thì dùng lệnh SELECT
Mệnh đề FROM trong MySQL – truy vấn từ bảng nào
Câu lệnh CREATE TABLE – Lệnh tạo bảng mới
Câu lệnh TRUNCATE TABLE trong MySQL – Loại bỏ tất cả bản ghi
0 0 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN
Đăng ký nhận thông báo
Thông báo email khi
guest
0 Bình luận
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?

Dịch vụ code thuê

TUICOCACH.COM NHẬN ĐẶT TEXTLINK, BANNER, GP
0
Giáo sư! có thể ném gạch bên dưới nhé!x