ยูเนี่ยนเป็นโอเปอเรเตอร์ประเภทหนึ่งใน MySQL เราสามารถใช้ ORDER BY กับสิ่งนี้เพื่อกรองบันทึก ใช้ UNION หากคุณต้องการเลือกแถวทีละแถวจากหลายตารางหรือหลายชุดของแถวจากตารางเดียวทั้งหมดเป็นชุดผลลัพธ์เดียว
เรามาดูตัวอย่างกัน
การสร้างตารางแรก
mysql> สร้างตาราง UnionDemo1 -> ( -> id int -> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.59 วินาที)
กำลังแทรกระเบียนลงในตารางแรก
mysql> แทรกลงในค่า UnionDemo1(1),(4),(10);แบบสอบถามตกลง ได้รับผลกระทบ 3 แถว (0.21 วินาที) บันทึก:3 รายการซ้ำ:0 คำเตือน:0
เพื่อแสดงรายการทั้งหมด
mysql> เลือก *จาก UnionDemo1;
ต่อไปนี้เป็นผลลัพธ์ที่แสดงระเบียนทั้งหมด
<ก่อนหน้า>+------+| id |+------+| 1 || 4 || 10 |+------+3 แถวในชุด (0.00 วินาที)เรามาสร้างตารางที่สองกันเถอะ
mysql> สร้างตาราง UnionDemo2 -> ( -> id int -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.54 วินาที)
กำลังแทรกระเบียนลงในตารางที่สอง
mysql> แทรกลงในค่า UnionDemo2(2),(3),(5),(6),(7),(8),(9);ตกลง ตกลง 7 แถวได้รับผลกระทบ (0.21 วินาที)บันทึก:7 ซ้ำ:0 คำเตือน:0
เพื่อแสดงรายการทั้งหมด
mysql> เลือก *จาก UnionDemo2;
นี่คือผลลัพธ์
<ก่อนหน้า>+------+| id |+------+| 2 || 3 || 5 || 6 || 7 || 8 || 9 |+------+7 แถวในชุด (0.00 วินาที)ตอนนี้ให้เราดูแบบสอบถามที่จะใช้ UNION กับ Order by.
mysql> เลือก id จาก UnionDemo1 -> union -> เลือก id จาก UnionDemo2 -> สั่งซื้อโดย id desc;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+------+| id |+------+| 10 || 9 || 8 || 7 || 6 || 5 || 4 || 3 || 2 || 1 |+------+10 แถวในชุด (0.05 วินาที)