Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL

ตัวดำเนินการเซตเชิงสัมพันธ์ใน DBMS


DBMS รองรับตัวดำเนินการเซตเชิงสัมพันธ์ด้วย ตัวดำเนินการเซตเชิงสัมพันธ์หลักคือ union, intersection และ set difference ทั้งหมดนี้สามารถนำไปใช้ใน DBMS โดยใช้คิวรีที่แตกต่างกัน

ตัวดำเนินการเซตเชิงสัมพันธ์ในรายละเอียดโดยใช้ตัวอย่างที่กำหนด มีดังนี้ -

Student_Number
Student_Name
Student_Marks
1
John
95
2
Mary
80
3
Damon
57
Student_Number
Student_Name
Student_Marks
2
Mary
50
3
Damon
98
6
Matt
45

Union

Union รวมผลลัพธ์ 2 ชุดที่ได้จากคิวรีเป็นผลลัพธ์เดียวในรูปตาราง อย่างไรก็ตาม ผลลัพธ์ควรคล้ายกันถ้า union จะถูกนำไปใช้ Union ลบ duplicates ทั้งหมดออกจากข้อมูลและแสดงค่าที่ distinct เท่านั้น หากต้องการค่าซ้ำในผลลัพธ์ ให้ใช้ UNION ALL

ตัวอย่างของ union -

Select Student_Name from Art_Students UNION Select Student_Name from Dance_Students

จะแสดงชื่อนักเรียนทั้งหมดในตาราง Art_Students และ Dance_Students คือ John, Mary, Damon และ Matt

Intersection

ตัวดำเนินการ intersection ให้ค่าข้อมูลร่วมระหว่างชุดข้อมูล 2 ชุดที่ intersect ชุดข้อมูล 2 ชุดที่ intersect ควรคล้ายกันสำหรับตัวดำเนินการ intersection ทำงาน Intersection ก็ลบ duplicates ทั้งหมดก่อนแสดงผล

ตัวอย่างของ intersection -

Select Student_Name from Art_Students INTERSECT Select Student_Name from Dance_Students

จะแสดงชื่อนักเรียนในตาราง Art_Students และในตาราง Dance_Students คือ นักเรียนทั้งหมดที่เรียนทั้งศิลปะและเต้น คือ Mary และ Damon ในตัวอย่างนี้

Set difference

ตัวดำเนินการ set difference รับ 2 เซตและคืนค่าที่อยู่ในเซตแรกแต่ไม่ใช่เซตที่สอง

ตัวอย่างของ set difference -

Select Student_Name from Art_Students MINUS Select Student_Name from Dance_Students

จะแสดงชื่อนักเรียนทั้งหมดในตาราง Art_Students แต่ไม่ในตาราง Dance_Students คือ นักเรียนที่เรียนศิลปะแต่ไม่เรียนเต้น

คือ John ในตัวอย่างนี้