Computer >> Máy Tính >  >> Lập trình >> SQL

Toán tử tập hợp quan hệ trong DBMS


DBMS cũng hỗ trợ các toán tử tập hợp quan hệ. Các toán tử tập hợp quan hệ chính là liên hợp, giao điểm và chênh lệch tập hợp. Tất cả những điều này có thể được triển khai trong DBMS bằng cách sử dụng các truy vấn khác nhau.

Các toán tử tập hợp quan hệ chi tiết bằng cách sử dụng ví dụ đã cho như sau -

Student_Number
Tên_Sinh viên
Student_Marks
1
John
95
2
Mary
80
3
Damon
57
Student_Number
Tên_ Sinh viên
Student_Marks
2
Mary
50
3
Damon
98
6
Matt
45

Công đoàn

Union kết hợp hai kết quả khác nhau thu được bởi một truy vấn thành một kết quả duy nhất ở dạng bảng. Tuy nhiên, kết quả sẽ tương tự nếu áp dụng union. Union xóa tất cả các bản sao, nếu có khỏi dữ liệu và chỉ hiển thị các giá trị riêng biệt. Nếu các giá trị trùng lặp được yêu cầu trong dữ liệu kết quả, thì UNION ALL sẽ được sử dụng.

Một ví dụ của liên minh là -

Select Student_Name from Art_Students
UNION
Select Student_Name from Dance_Students

Điều này sẽ hiển thị tên của tất cả học sinh trong bảng Art_Students và Dance_Students, tức là John, Mary, Damon và Matt.

Giao lộ

Toán tử giao nhau cung cấp các giá trị dữ liệu chung giữa hai tập dữ liệu được giao nhau. Hai tập dữ liệu giao nhau phải giống nhau để toán tử giao nhau hoạt động. Intersection cũng loại bỏ tất cả các bản sao trước khi hiển thị kết quả.

Một ví dụ giao lộ là -

Select Student_Name from Art_Students
INTERSECT
Select Student_Name from Dance_Students

Thao tác này sẽ hiển thị tên của các học sinh trong bảng Art_Students và trong bảng Dance_Students, tức là tất cả các học sinh đã theo học cả hai lớp nghệ thuật và khiêu vũ. Trong ví dụ này là Mary và Damon.

Đặt chênh lệch

Các toán tử chênh lệch tập hợp nhận hai tập hợp và trả về các giá trị nằm trong tập hợp đầu tiên nhưng không nằm trong tập hợp thứ hai.

Một ví dụ của sự khác biệt đặt là -

Select Student_Name from Art_Students
MINUS
Select Student_Name from Dance_Students

Thao tác này sẽ hiển thị tên của tất cả học sinh trong bảng Art_Students nhưng không hiển thị trong bảng Dance_Students, tức là những học sinh đang tham gia các lớp học nghệ thuật nhưng không phải lớp học khiêu vũ.

Đó là John trong ví dụ này.