Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีที่ดีที่สุดในการรวมแบบสอบถามเลือก MySQL ขั้นสูงหลายรายการ?


ในการรวมการสืบค้นข้อมูล MySQL ขั้นสูงหลายรายการเข้าด้วยกัน ให้ใช้ UNION ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1 (Value1 int,Value2 int) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.62 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable1 (10,29) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable1 (100,190) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงใน DemoTable1 ค่า (40,101);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.12 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable1;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---------+-------+| Value1 | ค่าที่ 2 |+---------+-------+| 10 | 29 || 100 | 190 || 40 | 101 |+--------+ -------- +3 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างตารางที่สอง -

mysql> สร้างตาราง DemoTable2 (Number1 int, Number2 int) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.49 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable2 (100,290) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า DemoTable2 (200,390) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable2 ( 50,170);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.12 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable2;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---------+---------+| Number1 | ที่ 2 |+---------+---------+| 100 | 290 || 200 | 390 || 50 | 170 |+---------+---------+3 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อรวมแบบสอบถามเลือก MySQL ขั้นสูงหลายรายการ -

mysql> (เลือก Value1,Value2 จาก DemoTable1) union (เลือก Number1 AS Value1, Number2 AS Value2 จาก DemoTable2) สั่งซื้อโดย Value1 DESC

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---------+-------+| Value1 | ค่าที่ 2 |+---------+-------+| 200 | 390 || 100 | 290 || 100 | 190 || 50 | 170 || 40 | 101 || 10 | 29 |+--------+-------+6 แถวในชุด (0.04 วินาที)