PostgreSQL IN, Not IN và các ví dụ
⚡ Tóm tắt thông minh
PostgreSQL Toán tử IN kiểm tra xem một giá trị có xuất hiện trong danh sách hoặc truy vấn con bên trong mệnh đề WHERE hay không, thay thế nhiều điều kiện OR trong các câu lệnh SELECT, UPDATE, INSERT và DELETE để lọc dữ liệu sạch hơn, nhanh hơn và dễ đọc hơn.

Là gì PostgreSQL TRONG?
Toán tử IN được sử dụng trong mệnh đề WHERE để kiểm tra xem một giá trị có tồn tại trong một danh sách các giá trị khác hay không. Thao tác IN giúp giảm thiểu nhu cầu sử dụng nhiều điều kiện OR trong các câu lệnh SELECT, UPDATE, INSERT hoặc DELETE.
cú pháp
Toán tử IN có cú pháp như sau:
value IN (value_1, value_2, ...)
Giá trị là giá trị mà bạn đang kiểm tra trong danh sách.
Giá trị_1, giá trị_2… là các giá trị danh sách.
Nếu giá trị được tìm thấy trong danh sách, toán tử sẽ trả về giá trị đúng.
Danh sách có thể là một tập hợp các số hoặc chuỗi, hoặc thậm chí là kết quả đầu ra của một hàm nào đó. Câu lệnh SELECT như hình dưới đây:
value IN (SELECT value FROM table-name);
Câu lệnh đặt bên trong dấu ngoặc đơn được gọi là truy vấn con.
PostgreSQL Trong Với Cá Tính
Hãy để chúng tôi trình bày cách bạn có thể sử dụng toán tử IN với các giá trị ký tự.
Hãy xem xét bảng sau:
Nhân viên:
Chúng ta hãy chạy truy vấn sau với bảng trên:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Nó trả về kết quả sau:
Chúng tôi có một danh sách gồm ba tên. Chúng tôi đang tìm kiếm xem có tên nào trong số này xuất hiện trong cột tên của bảng Nhân viên hay không. Kate Joel đã được tìm thấy trùng khớp với một trong các bản ghi của bảng và thông tin chi tiết của bản ghi đó đã được trả về.
PostgreSQL IN Với số
Bây giờ, chúng ta hãy xem cách chúng ta có thể sử dụng toán tử IN với các giá trị số.
Hãy xem xét bảng Giá được đưa ra dưới đây:
Giá:
Chúng ta có thể chạy truy vấn sau trên bảng:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
Điều này trả về như sau:
Chúng tôi đã tạo một danh sách với 4 giá trị số. Chúng tôi đang kiểm tra xem chúng tôi có thể khớp bất kỳ giá trị nào trong số này với các giá trị có trong cột giá của bảng giá hay không. Hai giá trị đã được khớp và thông tin chi tiết của chúng đã được trả về.
Sử dụng NOT Operator
Toán tử IN có thể được sử dụng cùng với toán tử NOT. Nó trả về các giá trị không tìm thấy trong cột được chỉ định. Chúng tôi sẽ sử dụng bảng Giá để chứng minh điều này.
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
Kết quả trả về sẽ như sau:
Chúng tôi đã tạo một danh sách với 4 giá trị số. Chúng tôi đang kiểm tra cột giá của bảng Giá để tìm các giá trị không nằm trong danh sách. Hai giá trị, 250 và 300, không được tìm thấy. Do đó, thông tin chi tiết của chúng đã được trả về.
Sử dụng pgAdmin
Ngoài giao diện dòng lệnh SQL, các truy vấn IN và NOT IN tương tự cũng có thể được chạy trực quan thông qua giao diện pgAdmin.
Với nhân vật
Để thực hiện điều tương tự thông qua pgAdmin, hãy làm điều này:
Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.
Bước 2)
- Từ thanh điều hướng ở bên trái, nhấp vào Cơ sở dữ liệu.
- Nhấp vào Bản trình diễn.
Bước 3) Nhập truy vấn vào trình soạn thảo truy vấn:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Bước 4) Nhấp vào nút Thực hiện.
Nó sẽ trả về kết quả sau:
Với số
Để thực hiện điều tương tự thông qua pgAdmin, hãy làm điều này:
Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.
Bước 2)
- Từ thanh điều hướng ở bên trái, nhấp vào Cơ sở dữ liệu.
- Nhấp vào Bản trình diễn.
Bước 3) Nhập truy vấn vào trình soạn thảo truy vấn:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
Bước 4) Nhấp vào nút Thực hiện.
Nó sẽ trả về kết quả sau:
Sử dụng NOT Operator
Để thực hiện điều tương tự thông qua pgAdmin, hãy làm điều này:
Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.
Bước 2)
- Từ thanh điều hướng ở bên trái, nhấp vào Cơ sở dữ liệu.
- Nhấp vào Bản trình diễn.
Bước 3) Nhập truy vấn vào trình soạn thảo truy vấn:
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
Bước 4) Nhấp vào nút Thực hiện.
Nó sẽ trả về kết quả sau:
Tải xuống Cơ sở dữ liệu được sử dụng trong Hướng dẫn này














