ความแตกต่างระหว่าง JOIN และ UNION ใน SQL

ผู้เขียน: Laura McKinney
วันที่สร้าง: 2 เมษายน 2021
วันที่อัปเดต: 5 พฤษภาคม 2024
Anonim
Difference between JOIN and UNION with Example
วิดีโอ: Difference between JOIN and UNION with Example

เนื้อหา


เข้าร่วมและยูเนี่ยนเป็นประโยคใน SQL ที่ใช้ในการรวมข้อมูลของความสัมพันธ์สองคนหรือมากกว่า แต่วิธีที่พวกเขารวมข้อมูลและรูปแบบของผลลัพธ์ที่ได้นั้นแตกต่างกัน เข้าร่วม ข้อรวมคุณสมบัติของสองความสัมพันธ์เพื่อสร้างผลลัพธ์ tuples ในขณะที่ ยูเนี่ยน ข้อรวมผลของสองแบบสอบถาม ให้เราคุยถึงความแตกต่างระหว่าง JOIN และ UNION ด้วยความช่วยเหลือของแผนภูมิเปรียบเทียบที่แสดงด้านล่าง

  1. แผนภูมิเปรียบเทียบ
  2. คำนิยาม
  3. ความแตกต่างที่สำคัญ
  4. ข้อสรุป

แผนภูมิเปรียบเทียบ

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



คำจำกัดความของการเข้าร่วม

เข้าร่วม ส่วนใน SQL รวม tuples จากสองความสัมพันธ์หรือตารางที่ทำให้ขนาด tuple อีกต่อไป tuple ที่เป็นผลลัพธ์มีแอตทริบิวต์จากทั้งความสัมพันธ์ คุณสมบัติจะรวมกันตามคุณลักษณะทั่วไประหว่างพวกเขา JOIN ประเภทต่าง ๆ ใน SQL คือ เข้าร่วมภายในซ้ายเข้าร่วมขวาเข้าร่วมเต็มด้านนอก

เข้าร่วมภายใน รวม tuples จากทั้งสองตารางตราบใดที่มีแอตทริบิวต์ร่วมกันระหว่างทั้งสอง เข้าร่วมซ้าย ผลลัพธ์ใน tuples ทั้งหมดของตารางด้านซ้ายและ tuple ที่ตรงกันจากตารางด้านขวา เข้าร่วมถูกต้อง ผลลัพธ์ใน tuples ทั้งหมดจากตารางด้านขวาและเฉพาะ tuple ที่ตรงกันจากตารางด้านซ้าย เข้าร่วมเต็มรูปแบบนอก ผลลัพธ์ใน tuples ทั้งหมดจากทั้งตารางแม้ว่าพวกเขาจะมีคุณลักษณะที่ตรงกันหรือไม่

เข้าร่วมภายในเหมือนกับ JOIN นอกจากนี้คุณยังสามารถวางคำหลักภายในและใช้ JOIN เพื่อดำเนินการเข้าร่วมภายใน


คำจำกัดความของ UNION

UNION เป็นชุดการดำเนินการใน SQL UNON รวมผลลัพธ์ของแบบสอบถามสองรายการ ผลลัพธ์ของ UNION รวมถึงสิ่งอันดับจากทั้งความสัมพันธ์ที่มีอยู่ในแบบสอบถาม เงื่อนไขที่ต้องทำให้เป็นที่พอใจก็คือยูเนี่ยนของสองความสัมพันธ์คือ:

  1. ความสัมพันธ์ทั้งสองจะต้องมีคุณลักษณะจำนวนเดียวกัน
  2. โดเมนของแอตทริบิวต์ที่เกี่ยวข้องจะต้องเหมือนกัน

ยูเนี่ยนมีสองประเภทนั่นคือ ยูเนี่ยน และ ยูเนี่ยนทั้งหมด. ผลลัพธ์ที่ได้รับโดยใช้ UNION จะไม่รวมรายการที่ซ้ำกัน ในทางกลับกันผลลัพธ์ที่ได้จากการใช้ UNION ALL จะคงไว้ซึ่งความซ้ำซ้อน

  1. ความแตกต่างหลักระหว่าง JOIN และ UNION คือ JOIN รวม tuples จากสองความสัมพันธ์และ tuples ที่เป็นผลลัพธ์รวมถึงคุณลักษณะจากทั้งความสัมพันธ์ ในทางตรงกันข้ามยูเนี่ยนรวมผลลัพธ์ของแบบสอบถามแบบใช้เลือกข้อมูลสองคำ
  2. อนุประโยค JOIN ใช้ได้เฉพาะเมื่อความสัมพันธ์ทั้งสองที่เกี่ยวข้องมีอย่างน้อยหนึ่งแอตทริบิวต์ที่พบได้ทั่วไปในทั้งสอง ในทางตรงกันข้ามยูเนี่ยนจะใช้งานได้เมื่อความสัมพันธ์ทั้งสองมีจำนวนของคุณลักษณะที่เท่ากันและโดเมนของคุณลักษณะที่สอดคล้องกันจะเหมือนกัน
  3. มีสี่ประเภทของการเข้าร่วมภายในเข้าร่วมซ้ายเข้าร่วมขวาเต็มเข้าร่วม แต่มีสองประเภทของยูเนี่ยนยูเนี่ยนและยูเนี่ยนทั้งหมด
  4. ใน JOIN ผลลัพธ์ tuple มีขนาดที่ใหญ่กว่าเนื่องจากมีแอตทริบิวต์จากทั้งความสัมพันธ์ ในอีกทางหนึ่งในยูเนี่ยนจำนวนของสิ่งอันดับจะเพิ่มขึ้นเนื่องจากผลรวมถึงสิ่งอันดับจากทั้งความสัมพันธ์ที่มีอยู่ในแบบสอบถาม

สรุป:

ทั้งการดำเนินการรวมข้อมูลที่ใช้ในสถานการณ์ที่แตกต่างกัน เข้าร่วมจะใช้เมื่อเราต้องการที่จะรวมคุณสมบัติของสองความสัมพันธ์ที่มีอย่างน้อยหนึ่งคุณลักษณะที่เหมือนกัน ยูเนี่ยนจะใช้เมื่อเราต้องการรวม tuples ของความสัมพันธ์ทั้งสองที่มีอยู่ในแบบสอบถาม