Giới thiệu về SQL IN
SQL IN là một trong những toán tử mạnh mẽ trong ngôn ngữ truy vấn dữ liệu SQL, cho phép bạn kiểm tra một giá trị có nằm trong một danh sách các giá trị hay không. Việc sử dụng IN giúp cho việc viết câu lệnh SQL trở nên ngắn gọn và dễ dàng hơn, nhất là khi so sánh với nhiều giá trị liên tiếp bằng toán tử OR.
Cú pháp của SQL IN
SELECT column1, column2, ... FROM table_name WHERE column_name IN (value1, value2, ...);
Các ví dụ sử dụng SQL IN
1. Ví dụ cơ bản
Giả sử bạn có một bảng tên là Customers và bạn muốn lấy thông tin của những khách hàng đến từ các thành phố cụ thể như 'Hà Nội' và 'TP.HCM'.
SELECT * FROM Customers WHERE City IN ('Hà Nội', 'TP.HCM');
2. Sử dụng đặc biệt với số nguyên
Bạn có thể sử dụng IN với các số nguyên để lấy thông tin của các sản phẩm có ProductID cụ thể trong bảng Products.
SELECT * FROM Products WHERE ProductID IN (1, 2, 3);
3. Kết hợp với các truy vấn khác
Bạn cũng có thể kết hợp IN với kết quả của một truy vấn con. Ví dụ, bạn muốn lấy tất cả khách hàng có Country là những quốc gia có ID trong bảng Countries.
SELECT * FROM Customers WHERE CountryID IN (SELECT CountryID FROM Countries WHERE Region = 'Asia');
4. Sử dụng NOT IN
Ngoài câu lệnh IN, SQL cũng hỗ trợ toán tử NOT IN. Điều này cho phép bạn lấy ra các bản ghi không nằm trong danh sách các giá trị cho trước. Ví dụ, muốn lấy tất cả khách hàng nhưng không phải đến từ 'Hà Nội' hoặc 'TP.HCM':
SELECT * FROM Customers WHERE City NOT IN ('Hà Nội', 'TP.HCM');
Kết luận
Toán tử IN trong SQL là một công cụ hữu ích để xử lý các điều kiện lọc trong truy vấn. Việc sử dụng IN giúp tạo ra câu lệnh SQL ngắn gọn và dễ hiểu hơn, đồng thời kết hợp với các truy vấn con mang lại sự linh hoạt cao trong việc truy xuất dữ liệu.