Toán tử Tồn tại PostgreSQL
Tồn tại
Toán tử EXISTS
được sử dụng để kiểm tra sự tồn tại của bất kỳ bản ghi nào trong truy vấn phụ.
Toán tử EXISTS
trả về TRUE nếu truy vấn phụ trả về một hoặc nhiều bản ghi.
Ví dụ
Trả về tất cả khách hàng được thể hiện trong bảng orders
:
SELECT customers.customer_name
FROM customers
WHERE EXISTS (
SELECT order_id
FROM orders
WHERE customer_id = customers.customer_id
);
Chạy ví dụ » Kết quả ở ví dụ trên cho thấy 89 khách hàng có ít nhất một đơn hàng trong bảng orders
.
KHÔNG TỒN TẠI
Để kiểm tra xem khách hàng nào chưa có đơn hàng, chúng ta có thể sử dụng toán tử NOT
cùng với toán tử EXISTS
:
Ví dụ
Trả về tất cả khách hàng KHÔNG có trong bảng orders
:
SELECT customers.customer_name
FROM customers
WHERE NOT EXISTS (
SELECT order_id
FROM orders
WHERE customer_id = customers.customer_id
);
Chạy ví dụ »