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

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


DBMS รองรับตัวดำเนินการชุดเชิงสัมพันธ์เช่นกัน ตัวดำเนินการเซตเชิงสัมพันธ์ที่สำคัญ ได้แก่ ยูเนียน อินเตอร์เซกชัน และความแตกต่างเซต ทั้งหมดนี้สามารถนำมาใช้ใน 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 ALL

ตัวอย่าง ของสหภาพคือ −

Select Student_Name from Art_Students
UNION
Select Student_Name from Dance_Students

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

ทางแยก

ตัวดำเนินการทางแยกจะให้ค่าข้อมูลทั่วไประหว่างชุดข้อมูลสองชุดที่ตัดกัน ชุดข้อมูลสองชุดที่ตัดกันควรคล้ายกันเพื่อให้ตัวดำเนินการทางแยกทำงาน ทางแยกยังลบรายการที่ซ้ำกันทั้งหมดก่อนที่จะแสดงผล

ตัวอย่าง ตัวอย่าง ของสี่แยกคือ −

Select Student_Name from Art_Students
INTERSECT
Select Student_Name from Dance_Students

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

กำหนดความแตกต่าง

ตัวดำเนินการความแตกต่างของชุดรับค่าทั้งสองชุดและส่งกลับค่าที่อยู่ในชุดแรกแต่ไม่ใช่ชุดที่สอง

ตัวอย่าง ตัวอย่าง ของความแตกต่างที่ตั้งไว้คือ −

Select Student_Name from Art_Students
MINUS
Select Student_Name from Dance_Students

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

นั่นคือจอห์นในตัวอย่างนี้