ประกาศ UNION และ UNION ALL ใน SQL

ประกาศ UNION ใน SQL

ประกาศ UNION ใช้เพื่อรวมผลลัพธ์ของ SELECT สองหรือมากกว่า

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

SQL UNION ศัพท์

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

หมายเหตุ:โดยเริ่มต้น ปฏิสัมพันธ์ UNION จะเลือกค่าที่ต่างกัน. หากอนุญาตให้มีค่าที่ซ้ำ ใช้ UNION ALL

SQL UNION ALL ศัพท์

SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

นอกจากนี้ ชื่อคอลัมน์ในผลลัพธ์ของ UNION จะเหมือนกันกับชื่อคอลัมน์ในคำสั่ง SELECT แรกของ UNION

ตัวอย่างที่ใช้ตารางต้นฐานในตอนนี้:

Employees_China:

E_ID E_Name
01 Zhang, Hua
02 Wang, Wei
03 Carter, Thomas
04 Yang, Ming

Employees_USA:

E_ID E_Name
01 Adams, John
02 Bush, George
03 Carter, Thomas
04 Gates, Bill

ใช้คำสั่ง UNION

ตัวอย่าง

แสดงรายชื่อพนักงานที่ต่างกันในประเทศจีนและสหรัฐอเมริกา

SELECT E_Name FROM Employees_China
UNION
SELECT E_Name FROM Employees_USA

ผลลัพธ์

E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Gates, Bill

หมายเหตุ:คำสั่งนี้ไม่สามารถแสดงพนักงานทั้งหมดในประเทศจีนและสหรัฐอเมริกาได้ ในตัวอย่างที่แสดงด้านบน เรามีชื่อพนักงานที่เหมือนกันสองคน แต่มีเพียงคนเดียวที่ถูกแสดงออกมา. คำสั่ง UNION จะเลือกค่าที่ต่างกันเท่านั้น

UNION ALL

คำสั่ง UNION ALL และคำสั่ง UNION เกือบเหมือนกัน แต่คำสั่ง UNION ALL จะแสดงทุกค่า

SQL Statement 1
UNION ALL
SQL Statement 2

ใช้คำสั่ง UNION ALL

ตัวอย่าง:

แสดงรายชื่อพนักงานทั้งหมดในประเทศจีนและสหรัฐอเมริกา

SELECT E_Name FROM Employees_China
UNION ALL
SELECT E_Name FROM Employees_USA

ผลลัพธ์

E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Carter, Thomas
Gates, Bill