แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | เข้าร่วม | ยูเนี่ยน |
---|---|---|
ขั้นพื้นฐาน | เข้าร่วมรวมคุณลักษณะของสิ่งอันดับที่มีอยู่ในความสัมพันธ์ที่ต่างกันสองรายการที่ใช้ร่วมกันบางสาขาหรือคุณลักษณะ | ยูเนี่ยนรวม tuples ของความสัมพันธ์ที่มีอยู่ในแบบสอบถาม |
เงื่อนไข | เข้าร่วมใช้งานได้เมื่อความสัมพันธ์ที่เกี่ยวข้องสองรายการมีแอตทริบิวต์ร่วมอย่างน้อยหนึ่งรายการ | UNION สามารถใช้งานได้เมื่อจำนวนคอลัมน์ที่มีอยู่ในแบบสอบถามเท่ากันและแอตทริบิวต์ที่เกี่ยวข้องมีโดเมนเดียวกัน |
ประเภท | ภายในเต็ม (ด้านนอก) เข้าร่วมซ้ายขวาเข้าร่วม | ยูเนี่ยนและยูเนี่ยนทั้งหมด |
ผล | ความยาวของสิ่งอันดับทูเปิลเป็นมากกว่าเมื่อเทียบกับความยาวของทูเปิลของความสัมพันธ์ที่เกี่ยวข้อง | จำนวนของสิ่งอันดับทูเพิลนั้นมากกว่าเมื่อเปรียบเทียบกับจำนวนของสิ่งอันดับในแต่ละความสัมพันธ์ที่เกี่ยวข้องในแบบสอบถาม |
แผนภาพ |
คำจำกัดความของการเข้าร่วม
อนุประโยค JOIN ใน SQL รวม tuples จากสองความสัมพันธ์หรือตารางทำให้ขนาดของ tuple ยาวขึ้น tuple ที่เป็นผลลัพธ์ประกอบด้วยแอตทริบิวต์จากทั้งความสัมพันธ์ คุณสมบัติจะรวมกันตามคุณลักษณะทั่วไประหว่างพวกเขา ประเภทที่แตกต่างของ JOIN ใน SQL คือ เข้าร่วมภายใน, ซ้ายเข้าร่วม, เข้าร่วมขวา, เข้าร่วมเต็มรูปแบบภายนอก
เข้าร่วมภายใน รวม tuples จากทั้งสองตารางตราบใดที่มีแอตทริบิวต์ร่วมกันระหว่างทั้งสอง ซ้ายเข้าร่วม ผลลัพธ์ใน tuples ทั้งหมดของตารางด้านซ้ายและ tuple ที่ตรงกันจากตารางด้านขวา ผลลัพธ์ เข้าร่วม ในผลลัพธ์อันดับทั้งหมดจากตารางด้านขวาและมีการจับคู่สิ่งอันดับจากตารางด้านซ้ายเท่านั้น การเข้าร่วมด้านนอกทั้งหมด ส่งผลให้สิ่งอันดับทั้งหมดจากทั้งตารางแม้ว่าพวกเขาจะมีคุณลักษณะที่ตรงกันหรือไม่
เข้าร่วมภายในเหมือนกับ JOIN นอกจากนี้คุณยังสามารถวางคำหลัก INNER และใช้เพียงเข้าร่วมเพื่อดำเนินการเข้าร่วมภายใน
คำจำกัดความของ UNION
UNION เป็นชุดการดำเนินการใน SQL UNON รวมผลลัพธ์ของแบบสอบถามสองรายการ ผลลัพธ์ของ UNION รวมถึงสิ่งอันดับจากทั้งความสัมพันธ์ที่มีอยู่ในแบบสอบถาม เงื่อนไขที่จะต้องทำให้เป็นที่พอใจของยูเนี่ยนของสองความสัมพันธ์คือ:
- ความสัมพันธ์ทั้งสองจะต้องมีคุณลักษณะที่เท่ากัน
- โดเมนของแอตทริบิวต์ที่เกี่ยวข้องจะต้องเหมือนกัน
ยูเนี่ยนมีสองประเภทคือ ยูเนี่ยน และ ยูเนี่ยนทั้งหมด ผลลัพธ์ที่ได้รับโดยใช้ UNION จะไม่รวมรายการที่ซ้ำกัน ในทางกลับกันผลลัพธ์ที่ได้จากการใช้ UNION ALL จะคงไว้ซึ่งความซ้ำซ้อน
ความแตกต่างที่สำคัญระหว่าง JOIN และ UNION ใน SQL
- ความแตกต่างหลักระหว่าง JOIN และ UNION คือ JOIN รวม tuples จากสองความสัมพันธ์และ tuples ที่เป็นผลลัพธ์รวมถึงคุณลักษณะจากความสัมพันธ์ ในทางตรงกันข้ามยูเนี่ยนรวมผลลัพธ์ของแบบสอบถามแบบใช้เลือกข้อมูลสองคำ
- อนุประโยค JOIN ใช้ได้เฉพาะเมื่อความสัมพันธ์ทั้งสองที่เกี่ยวข้องมีอย่างน้อยหนึ่งแอตทริบิวต์ที่พบได้ทั่วไปในทั้งสอง ในทางตรงกันข้ามยูเนี่ยนจะใช้งานได้เมื่อความสัมพันธ์ทั้งสองมีจำนวนของคุณลักษณะที่เท่ากันและโดเมนของคุณลักษณะที่สอดคล้องกันจะเหมือนกัน
- มีสี่ประเภทของการเข้าร่วมภายในเข้าร่วมซ้ายเข้าร่วมขวาเต็มเข้าร่วม แต่มีสองประเภทของยูเนี่ยนยูเนี่ยนและยูเนี่ยนทั้งหมด
- ใน JOIN ผลลัพธ์ tuple มีขนาดที่ใหญ่กว่าเนื่องจากมีแอตทริบิวต์จากทั้งความสัมพันธ์ ในอีกทางหนึ่งในยูเนี่ยนจำนวนของสิ่งอันดับจะเพิ่มขึ้นเนื่องจากผลรวมถึงสิ่งอันดับจากทั้งความสัมพันธ์ที่มีอยู่ในแบบสอบถาม
สรุป:
ทั้งข้อมูลการดำเนินการรวมจะใช้ในสถานการณ์ที่แตกต่างกัน เข้าร่วมจะใช้เมื่อเราต้องการที่จะรวมคุณสมบัติของสองความสัมพันธ์ที่มีอย่างน้อยหนึ่งคุณลักษณะที่เหมือนกัน ยูเนี่ยนจะใช้เมื่อเราต้องการรวม tuples ของความสัมพันธ์ทั้งสองที่มีอยู่ในแบบสอบถาม