Trong SQL toán tử INTERSECT được dùng để lấy kết qủa giao nhau của 2 mệnh đề SELECT. Điều này có nghĩa rằng các dòng dữ liệu trong kết quả trả về điều chứa trong cả 2 mệnh đề SELECT.
INTERSECT trong SQL
Cú pháp
SELECT column-1, column-2 …… FROM table1 [WHERE dieu_kien]; INTERSECT SELECT column-1, column-2 …… FROM table2 [WHERE dieu_kien];
Tên biến hoặc giá trị biến
column-x
Cột hoặc giá trị mà bạn muốn so sánh giữa 2 lệnh SELECT. Chúng không nhất thiết phải nằm trong cùng 1 trường thông tin ở mỗi lệnh SELECT nhưng các cột tương ứng phải có dữ liệu giống nhau.
table
Bảng muốn lấy bản ghi từ đó. Phải có ít nhất 1 bảng trong mệnh đề FROM.
WHERE dieu_kien
Tùy chọn. Điều kiện phải đáp ứng để bản ghi được chọn.
Lưu ý:
- Hai lệnh SELECT phải có cùng số biểu thức.
- Cột tương ứng trong mỗi lệnh SELECT phải có cùng kiểu dữ liệu.
- Toán tử INTERSECT chỉ trả về bản ghi nằm chung giữa các lệnh SELECT.
Ví dụ cho table1 chứa danh sách các nhân viên
Table2 chứa thông tin chi tiết về nhân viên được thưởng
SELECT ID, Name, Bonus FROM table1 LEFT JOIN table2 ON table1.ID = table2.Employee_ID INTERSECT SELECT ID, Name, Bonus FROM table1 RIGHT JOIN table2 ON table1.ID = table2.Employee_ID;
Kết quả trả về
Nguồn tham khảo
https://www.geeksforgeeks.org/sql-intersect-except-clause/
https://www.tutorialspoint.com/sql/sql-intersect-clause.htm