คำสั่ง
UNION หรือ
UNION ALL เป็นคำสั่งที่ใช้แสดงข้อมูลของตั้งแต่สองตารางขึ้นไป โดยที่ต้องเลือก column ที่จะแสดงผลที่มีข้อมูลชนิดเดียวกัน
เพียงแต่ คำสั่ง
UNION จะให้ผลลัพธ์เหมือนกับการทำ
SELECT DISTINCT คือจะแสดงข้อมูลที่ไม่ซ้ำกันออกมา และก็มีประสิทธิ์ภาพที่ดีกว่าการใช้
SELECT DISTINCT
ลองดูจาก ตย.
/* Declare First Table */
CREATE TABLE Table1(Column1 VARCHAR(1))
GO
INSERT INTO Table1
SELECT 'A'
UNION ALL
SELECT 'B'
UNION ALL
SELECT 'C'
UNION ALL
SELECT 'D'
UNION ALL
SELECT 'E'
GO
/* Declare Second Table */
CREATE TABLE Table2(Column1 VARCHAR(1))
GO
INSERT INTO Table2
SELECT 'A'
UNION ALL
SELECT 'C'
UNION ALL
SELECT 'E'
GO
/* Check the data using SELECT */
SELECT *
FROM Table1
SELECT *
FROM Table2
/* UNION ALL */
SELECT *
FROM Table1
UNION ALL
SELECT *
FROM Table2
/* UNION */
SELECT *
FROM Table1
UNION
SELECT *
FROM Table2
GO
DROP TABLE Table1
GO
DROP TABLE Table2
GO