Site icon บริษัท โค๊ดบี จำกัด

วิธีใช้งาน UNION ใน MySQL เพื่อควบรวมข้อมูลหลายตาราง

วิธีใช้งาน UNION ใน MySQL-2

วิธีใช้งาน UNION ใน MySQL-2

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

ตัวอย่างและวิธีใช้งาน คำสั่ง UNION ใน MySQL

สร้าง Table สำหรับทดสอบ

CREATE TABLE `companies` (
  `company_id` int(11) NOT NULL,
  `company_name` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `companies` (`company_id`, `company_name`) VALUES
(1, 'company 1'),
(2, 'company 2'),
(3, 'company 3');

CREATE TABLE `suppliers` (
  `supplier_id` int(11) NOT NULL,
  `supplier_name` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `suppliers` (`supplier_id`, `supplier_name`) VALUES
(1, 'supplier 1'),
(2, 'supplier 2'),
(3, 'supplier 3');

ทดสอบ Query ข้อมูล

SELECT * /* ใช้การ select แบบ * ตารางที่ union เข้ามาต้องมีจำนวนฟิลด์เท่ากันกับตารางหลัก */
FROM suppliers
UNION
SELECT *
FROM companies

ผลลัพธ์ที่ได้ของคำสั่งด้านบน จะสังเกตุเห็นว่า ข้อมูลของตารางที่ถูก UNION จะมารวบอยู่ในตารางหลัก ภายในชื่อ column name ของตารางหลัก คือ รวม suppliers_id มาไว้ใน company_id และ รวม suppliers_name มาไว้ใน company_name

SELECT company_id, company_name /* จำนวนฟิลด์ของตารางหลักคือ 2 */
FROM companies
UNION
SELECT supplier_id, supplier_name /* จำนวนฟิลด์ของตาราง UNION ก็ต้องมี 2 ฟิลด์ด้วย */
FROM suppliers

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

Exit mobile version