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

เชื่อมต่อสองตารางใน MySQL ด้วยเงื่อนไขหรือไม่


ในการต่อสองตาราง UNION ALL ใน MySQL ให้เราสร้างตาราง -

mysql> สร้างตาราง DemoTable1 ( Id int, FirstName varchar(20) );Query OK, 0 แถวได้รับผลกระทบ (1.52 วินาที)

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

mysql> แทรกลงในค่า DemoTable1 (10,'John'); Query OK, 1 แถวได้รับผลกระทบ (0.28 วินาที)mysql> แทรกลงในค่า DemoTable1 (20,'Carol'); Query OK, 1 แถวได้รับผลกระทบ (0.28 วินาที )

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

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

ผลลัพธ์

<ก่อนหน้า>+------+-----------+| รหัส | ชื่อจริง |+------+-----------+| 10 | จอห์น || 20 | Carol |+------+-----------+2 แถวในชุด (0.00 วินาที)

สร้างตารางที่สอง

mysql> สร้างตาราง DemoTable2 ( Id int, FirstName varchar(20) ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.22 วินาที)

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

mysql> แทรกลงในค่า DemoTable2 (20,'David');Query OK, 1 แถวได้รับผลกระทบ (1.28 วินาที)mysql> แทรกลงในค่า DemoTable2 (40,'Chris'); Query OK, 1 แถวได้รับผลกระทบ (0.38 วินาที )

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

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

ผลลัพธ์

<ก่อนหน้า>+------+-----------+| รหัส | ชื่อจริง |+------+-----------+| 20 | เดวิด || 40 | Chris |+------+-----------+2 แถวในชุด (0.00 วินาที)

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

mysql> เลือก *จาก DemoTable1 โดยที่ Id=20 รวมทุกการเลือก *จาก DemoTable2 โดยที่ Id=20;

ผลลัพธ์

<ก่อนหน้า>+------+-----------+| รหัส | ชื่อจริง |+------+-----------+| 20 | แครอล || 20 | David |+------+-----------+2 แถวในชุด (0.43 วินาที)