ความแตกต่างระหว่าง UNION และ UNION ALL (พร้อมตาราง)

สารบัญ:

Anonim

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

ยูเนี่ยน vs ยูเนี่ยน ALL

ความแตกต่างระหว่าง UNION และ UNION ALL คือ UNION เก็บเฉพาะระเบียนที่ไม่ซ้ำกันและลบรายการที่ซ้ำกันในขณะที่เชื่อมข้อมูล ในทางตรงกันข้าม UNION ALL จะรักษาระเบียนทั้งหมดจากชุดเดิม รวมทั้งระเบียนที่ซ้ำกัน

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

คำสั่ง UNION ALL ยังช่วยในการรวมคำสั่งมากกว่าสองคำสั่ง แต่อันนี้แตกต่างไปจากเดิม UNION ALL อนุญาตค่าที่ซ้ำกันในชุดผลลัพธ์ ไม่ได้กรองคำสั่งเดียวกันและรวมค่าทั้งหมดในชุดผลลัพธ์

ตารางเปรียบเทียบระหว่าง UNION และ UNION ALL

พารามิเตอร์ของการเปรียบเทียบ

ยูเนี่ยน

ยูเนี่ยน ALL

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

ยูเนี่ยนคืออะไร?

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

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

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

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

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

UNION ALL คืออะไร?

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

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

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

UNION ALL ไม่ได้กำจัดการสืบค้นเดียวกันออกจากผลลัพธ์ แต่จะรวมรายการทั้งหมดที่เลือกและไม่ลบรายการที่ซ้ำกัน นี่คือข้อแตกต่างที่สำคัญระหว่าง UNION และ UNION ALL

เนื่องจาก UNION ALL ไม่จำเป็นต้องกำจัดคำสั่งที่ซ้ำกัน มันจึงทำงานได้ดีกว่า อย่างไรก็ตาม ผู้ใช้โดยทั่วไปไม่ต้องการใช้โอเปอเรเตอร์นี้

ความแตกต่างหลักระหว่างยูเนี่ยนและยูเนี่ยนทั้งหมด

บทสรุป

UNION และ UNION ALL เป็นโอเปอเรเตอร์ SQL ทั้งสองอย่างนี้ใช้เพื่อเชื่อมข้อความค้นหา SELECT และช่วยให้บรรลุผลลัพธ์ที่ต้องการ ทั้งสองอย่างนี้รวมคำสั่ง SQL ที่เลือกไว้ แต่ผลลัพธ์จะต่างกัน

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

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

อ้างอิง

  1. https://link.springer.com/chapter/10.1007/978-1-4302-3229-2_4
  2. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.403.9125&rep=rep1&type=pdf
  3. https://ieeexplore.ieee.org/abstract/document/6030237/

ความแตกต่างระหว่าง UNION และ UNION ALL (พร้อมตาราง)