เข้าร่วมโดยตรงใน MySQL ทำงานเหมือนเข้าร่วมภายในหรือเข้าร่วม ซึ่งหมายความว่าจะส่งกลับเฉพาะแถวที่ตรงกัน ประการแรก เราต้องเข้าใจ Straight join ใน MySQL สำหรับสิ่งนั้น เราจำเป็นต้องสร้างสองตารางและเชื่อมโยงทั้งสองตารางด้วยข้อจำกัดของคีย์ภายนอก
นี่คือตารางแรก
mysql> สร้างตาราง ForeignTableDemo-> (-> Id int,-> ชื่อ varchar(100),-> FK int-> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.47 วินาที)
นี่คือตารางที่สอง −
mysql> สร้างตาราง PrimaryTableDemo-> (-> FK int,-> Address varchar(100),-> primary key(FK)-> );Query OK, 0 แถวได้รับผลกระทบ (0.47 วินาที)
หลังจากนั้น เราจะเพิ่มข้อจำกัด -
mysql> แก้ไขตาราง ForeignTableDemo เพิ่มข้อจำกัด FKConst foreign key(FK) อ้างอิงPrimaryTableDemo(FK); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.54 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0
ตอนนี้เพิ่มระเบียนลงในตารางที่สอง -
mysql> INSERT เป็นค่า PrimaryTableDemo (1,'US');Query OK, 1 แถวได้รับผลกระทบ (0.10 วินาที)mysql> INSERT เป็นค่า PrimaryTableDemo (2,'UK');Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที )mysql> INSERT ลงในค่า PrimaryTableDemo (3,'Unknown');Query OK, 1 แถวได้รับผลกระทบ (0.08 วินาที)
การแสดงบันทึก
mysql> SELECT * จาก PrimaryTableDemo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+----+---------+| FK | ที่อยู่ |+---+---------+| 1 | สหรัฐอเมริกา || 2 | สหราชอาณาจักร || 3 | Unknown |+----+---------+3 แถวในชุด (0.00 วินาที)ตอนนี้ เพิ่มระเบียนลงในตารางแรก
mysql> INSERT เป็นค่า ForeignTableDemo (1,'John',1);Query OK, 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> INSERT เป็นค่า ForeignTableDemo (2,'Bob',2); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.27 วินาที)
แสดงระเบียนทั้งหมดโดยใช้คำสั่ง SELECT -
mysql> SELECT * จาก ForeignTableDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+------+------+------+| รหัส | ชื่อ | FK |+------+------+------+| 1 | จอห์น | 1 || 2 | บ๊อบ | 2 |+------+------+------+2 แถวในชุด (0.00 วินาที)แบบสอบถามสำหรับการรวมตรงมีดังต่อไปนี้ที่แสดงเฉพาะแถวที่ตรงกัน -
mysql>เลือก ForeignTableDemo.Id, ForeignTableDemo.Name, PrimaryTableDemo.Address-> จาก ForeignTableDemo-> Straight_join PrimaryTableDemo-> บน ForeignTableDemo.FK=PrimaryTableDemo.FK;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+------+------+---------+| รหัส | ชื่อ | ที่อยู่ |+------+------+---------+| 1 | จอห์น | สหรัฐอเมริกา || 2 | บ๊อบ | สหราชอาณาจักร |+------+------+---------+2 แถวในชุด (0.00 วินาที)