“Union All” กับ “Union” ใช้งานแตกต่างกันอย่างไร อธิบายได้ดังนี้ครับ
สมมุติผมมีตารางข้อมูลให้ดังนี้

Union All  คือ การนำข้อมูล 2 ตารางมาทำการต่อกันให้ได้ข้อมูลชุดเดียวโดยดึงข้อมูลมาทั้งหมด และไม่มีการเช็คข้อมูลซ้ำกัน  ตัวอย่างเช่น
SELECT [id],[order_date],[product],[price] FROM [DEV_DB].[dbo].[fact_product_order] As Table1
UNION ALL
SELECT [id],[order_date],[product],[price] FROM [DEV_DB].[dbo].[fact_product_order] As Table2

เราจะได้ข้อมูล 2 ตารางมาต่อกันดังรูป

Union คือ การนำข้อมูล 2 ตารางมาต่อหรือ join กันโดยโปรแกรมจะทำการแสดงข้อมูลที่ซ้ำกันเพียง Row เดียว ตัวอย่างเช่น
SELECT [id],[order_date],[product],[price] FROM [DEV_DB].[dbo].[fact_product_order] As Table1
UNION
SELECT [id],[order_date],[product],[price] FROM [DEV_DB].[dbo].[fact_product_order] As Table2

เราจะได้ข้อมูลแสดงออกมา 5 row เนื่องจาก 2 ตารางนี้ข้อมูลซ้ำกัน

 

TG Facebook Comments