Toán tử IN và NOT IN trong SQL
Trong bài này chúng ta sẽ học hai lệnh mới dùng để kiểm tra một giá trị có nằm trong một dãy giá trị khác hay không và đó chính là lệnh IN và NOT IN trong SQL.
1. Lệnh IN trong SQL
IN dịch ra tiếng Anh có nghĩa là "trong", và ý nghĩa của nó trong SQL là kiểm tra có nằm trong một dãy giá trị hay không. Ví dụ kiểm tra địa chỉ có nằm trong 3 tỉnh: Đăklăk, ĐăkNông, Gia lai hay không thì ta có thể sử dụng IN. Cú pháp như sau:
SELECT columns_list FROM table_name WHERE column_name IN (list_value);
Trong đó list_value là tập các giá trị được cách nhau bởi dấu phẩy.
Với ví dụ trên thì ta có thể viết như sau:
Bài viết này được đăng tại [free tuts .net]
SELECT * FROM table_name WHERE address IN ("Daklak", "DakNong", "Gia Lai");
Ví dụ: kiểm tra điểm của giáo viên chấm có nằm trong khoảng từ 0 đến 10 hay không, nếu khác tức là giáo viên chấm sai.
SELECT * FROM exams WHERE score IN (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Để chuyển đổi lệnh IN sang cú pháp thông thường thì ta sử dụng toán tử OR.
SELECT * FROM exams WHERE score = 0 OR score = 1 OR score = 2 OR score = 3 OR score = 4 OR score = 5 OR score = 6 OR score = 7 OR score = 8 OR score = 9 OR score = 10
2. Lệnh NOT IN trong SQL
Trong SQL thì lệnh NOT IN sẽ phủ định lại lệnh IN, nghĩa nếu lệnh IN kiểm tra có nằm trong tập giá trị hay không thì lệnh NOT IN lại kiểm tra không nằm trong tập giá trị. Ví dụ kiểm tra địa chỉ của khách hàng có phải không nằm trong ba tỉnh ĐăkLăk, ĐăkNông, Gia Lai.
Cú pháp NOT IN như sau:
SELECT columns_list FROM table_name WHERE column_name NOT IN (list_value);
Ví dụ: Lấy danh sách khách hàng nhưng không được lấy khách hàng đang sống tại Hà Nội và Hải Phòng.
SELECT * FROM customers WHERE address NOT IN ("Ha Noi", "Hai Phong")
Để chuyển thành toán tử khác thì bạn sử dụng AND, với ví dụ này thì mình code lại như sau:
SELECT * FROM customers WHERE address != "Ha Noi" AND address != "Hai Phong";
Như vậy là mình đã giới thiệu xong cách sử dụng toán tử IN và NOT IN trong T-SQL, hẹn gặp lại các bạn ở bài tiếp theo trong chuỗi series tự học SQL nhé.
Cùng chuyên mục:
Phiên làm việc là gì trong SQL
Trong bài viết này mình sẽ giải thích phiên làm việc là gì trong SQL…