EXCEPT trong SQL Server

EXCEPT trong SQL Server

  • Trung Nguyen
  • 22/11/2020

  • 3 min read

Trong hướng dẫn này, bạn sẽ tìm hiểu cách sử dụng EXCEPT trong SQL Server để loại trừ tập kết quả của một truy vấn ra khỏi tập kết quả của một truy vấn khác.

Giới thiệu về EXCEPT trong SQL Server

Toán tử EXCEPT trong SQL Server so sánh tập hợp kết quả của hai truy vấn và trả về các bản ghi của truy vấn thứ nhất không xuất hiện trong các bản ghi của truy vấn thứ hai.

Bạn đang đọc: EXCEPT trong SQL Server

Nói cách khác, hàm EXCEPT loại trừ tập kết quả của một truy vấn từ một truy vấn khác.

Sau đây là cú pháp của EXCEPT trong SQL Server:

query_1
EXCEPT
query_2

Sau đây là những quy tắc để tích hợp tập kết quả của hai truy vấn theo cú pháp trên :

  • Số lượng và thứ tự của các cột phải giống nhau trong cả hai truy vấn.
  • Các kiểu dữ liệu của các cột tương ứng phải giống nhau hoặc tương thích.

Hình sau cho thấy cách EXCEPT xử lý hai tập kết quả T1 và T2:

EXCEPT trong SQL Server

Trong hình minh họa này:

  • Tập kết quả T1 bao gồm 1, 2, 3.
  • Bộ kết quả T2 bao gồm 2, 3, 4.

except của T1 và T2 trả về 1, là bản ghi khác biệt với tập kết quả T1 không xuất hiện trong tập kết quả T2.

Ví dụ về toán tử EXCEPT trong SQL Server

Xem bảng productsorder_items trong cơ sở dữ liệu mẫu BikeStores.

Ví dụ về EXCEPT trong SQL Server

Ví dụ toán tử EXCEPT đơn giản

Ví dụ sau sử dụng toán tử EXCEPT để tìm các sản phẩm không có doanh số:

SELECT
    product_id
FROM
    production.products
EXCEPT
SELECT
    product_id
FROM
    sales.order_items;

Ví dụ về toán tử EXCEPT trong SQL ServerTrong ví dụ này, truy vấn tiên phong trả về tổng thể những loại sản phẩm. Truy vấn thứ hai trả về những mẫu sản phẩm có doanh thu bán hàng. Do đó, tập hợp tác dụng chỉ gồm có những mẫu sản phẩm không có doanh thu .

Ví dụ toán tử EXCEPT với mệnh đề ORDER BY trong SQL Server

Để sắp xếp tập hợp kết quả được tạo bởi toán tử EXCEPT, bạn thêm mệnh đề ORDER BY trong truy vấn cuối cùng. Ví dụ: ví dụ sau tìm các sản phẩm không có doanh số bán hàng và sắp xếp các sản phẩm theo thứ tự tăng dần theo id của chúng:

SELECT
    product_id
FROM
    production.products
EXCEPT
SELECT
    product_id
FROM
    sales.order_items
ORDER BY 
	product_id;

Ví dụ toán tử EXCEPT với mệnh đề ORDER BY trong SQL Server

Trong hướng dẫn này, bạn đã tìm hiểu cách sử dụng toán tử EXCEPT trong SQL Server để loại trừ tập kết quả của một truy vấn ra khỏi tập kết quả của một truy vấn khác.

Nếu Comdy hữu ích và giúp bạn tiết kiệm thời gian làm việc

Bạn hoàn toàn có thể vui vẻ đưa Comdy vào whitelist của trình chặn quảng cáo ❤ ️ để tương hỗ chúng tôi trong việc trả tiền cho dịch vụ tàng trữ web để duy trì hoạt động giải trí của website .