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;
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.