แนะนำ, 2021

ตัวเลือกของบรรณาธิการ

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

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

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

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

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

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

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

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

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

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

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

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

ความแตกต่างที่สำคัญระหว่าง JOIN และ UNION ใน SQL

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

สรุป:

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

Top