INTERSECT trong SQL Server

INTERSECT trong SQL Server

Trong hướng dẫn này, bạn sẽ tìm hiểu cách sử dụng toán tử INTERSECT trong SQL Server để kết hợp tập kết quả của hai truy vấn đầu vào và trả về các bản ghi xuất hiện trong cả hai truy vấn.

Giới thiệu về toán tử INTERSECT trong SQL Server

Toán tử INTERSECT trong SQL Server kết hợp tập kết quả của hai hoặc nhiều truy vấn và trả về các bản ghi xuất hiện trong cả hai truy vấn.

Sau đây minh họa cú pháp của toán tử INTERSECT trong SQL Server:

query_1
INTERSECT
query_2

Tương tự như toán tử UNION, các truy vấn trong cú pháp trên phải tuân theo các quy tắc sau:

  • Cả hai truy vấn phải có cùng số lượng và thứ tự cột.
  • 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 ảnh sau đây minh họa toán tử INTERSECT:

Trong minh họa này, chúng tôi có hai tập kết quả T1 và T2:

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

INTERSECT của tập kết quả T1 và T2 trả về các bản ghi chung là 2 và 3.

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

Hãy xem xét truy vấn sau:

SELECT
    city
FROM
    sales.customers
INTERSECT
SELECT
    city
FROM
    sales.stores
ORDER BY
    city;
Ví dụ về toán tử INTERSECT trong SQL Server

Truy vấn đầu tiên tìm tất cả các thành phố của khách hàng và truy vấn thứ hai tìm thành phố của các cửa hàng. Sử dụng toán tử INTERSECT kết hợp hai truy vấn để trả về các thành phố chung của khách hàng và cửa hàng, là các thành phố được trả về bởi cả hai truy vấn đầu vào.

Lưu ý rằng chúng tôi đã thêm mệnh đề ORDER BY vào truy vấn cuối cùng để sắp xếp tập kết quả.

Trong hướng dẫn này, bạn đã tìm hiểu cách sử dụng toán tử INTERSECT trong SQL Server để trả về phần giao nhau của các tập kết quả của hai truy vấn.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *