PostgreSQL IN, Not IN và các ví dụ

Là gì PostgreSQL TRONG ?

Toán tử IN được sử dụng trong mệnh đề WHERE cho phép kiểm tra xem giá trị có hiện diện trong danh sách các giá trị khác hay không. Trong Operation giúp giảm nhu cầu sử dụng nhiều điều kiện OR trong các câu lệnh CHỌN, CẬP NHẬT, CHÈN hoặc XÓA.

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 chuỗi hoặc thậm chí là kết quả đầu ra của một 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.

Với nhân vật

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:

PostgreSQL Cùng với nhân vật

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:

PostgreSQL Cùng với nhân vật

Chúng tôi có danh sách ba tên. Chúng tôi đang tìm kiếm xem chúng tôi có thể tìm thấy bất kỳ tên nào trong số này trong cột tên của bảng Nhân viên hay không. Kate Joel đã được 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 nó đã được trả về.

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á:

PostgreSQL Bằng số

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:

PostgreSQL Bằng số

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 toán tử NOT

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:

PostgreSQL Trong Sử dụng toán tử NOT

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

Bây giờ hãy xem cách thực hiện các hành động bằng 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)

  1. Từ thanh điều hướng ở bên trái-Nhấp vào Cơ sở dữ liệu.
  2. Nhấp vào Bản trình diễn.

Sử dụng pgAdmin với ký tự

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.

Sử dụng pgAdmin với ký tự

Nó sẽ trả về kết quả sau:

Sử dụng pgAdmin với ký tự

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)

  1. Từ thanh điều hướng ở bên trái-Nhấp vào Cơ sở dữ liệu.
  2. Nhấp vào Bản trình diễn.

Sử dụng pgAdmin với số

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.

Sử dụng pgAdmin với số

Nó sẽ trả về kết quả sau:

Sử dụng pgAdmin với số

Sử dụng toán tử NOT

Để 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)

  1. Từ thanh điều hướng ở bên trái-Nhấp vào Cơ sở dữ liệu.
  2. Nhấp vào Bản trình diễn.

Sử dụng toán tử NOT

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.

Sử dụng toán tử NOT

Nó sẽ trả về kết quả sau:

Sử dụng toán tử NOT

Tổng kết

  • Toán tử IN được sử dụng cùng với toán tử WHERE. Nó cho phép kiểm tra xem một giá trị cụ thể có hiện diện trong một bảng cụ thể hay không.
  • Toán tử IN giúp giảm nhu cầu sử dụng nhiều toán tử OR trong các câu lệnh SELECT, UPDATE, INSERT hoặc DELETE.
  • Khi tạo danh sách ký tự để kiểm tra sự hiện diện của một giá trị, mỗi giá trị trong danh sách phải được đặt trong dấu ngoặc đơn.
  • Toán tử IN cũng có thể được sử dụng với các giá trị số.
  • Khi toán tử IN được sử dụng cùng với toán tử NOT, nó sẽ trả về tất cả các giá trị không tìm thấy trong cột được chỉ định.

Tải xuống Cơ sở dữ liệu được sử dụng trong Hướng dẫn này