หากต้องการเปรียบเทียบสองตารางและส่งคืนรหัสที่ขาดหายไป คุณต้องใช้ MySQL LEFT OUTER JOIN
ให้เราสร้างตารางที่มีฟิลด์ตัวอย่าง จากนั้นเราจะแทรกเรกคอร์ด แบบสอบถามเพื่อสร้างตารางแรก -
First_Table
mysql> สร้างตาราง First_Table -> ( -> Id int -> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.88 วินาที)
ตอนนี้แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า First_Table(1); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.68 วินาที)mysql> แทรกลงในค่า First_Table (2); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.29 วินาที) mysql> แทรกลงในค่า First_Table ( 3);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงในค่า First_Table(4) แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.20 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก First_Table;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+------+| รหัส |+------+| 1 || 2 || 3 || 4 |+------+4 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่อสร้างตารางที่สอง -
Second_Table
mysql> สร้างตาราง Second_Table -> ( -> Id int -> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.60 วินาที)
ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า Second_Table (2); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า Second_Table (4) ตกลงสืบค้น 1 แถวได้รับผลกระทบ (0.20 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก Second_Table;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+------+| รหัส |+------+| 2 || 4 |+------+2 แถวในชุด (0.00 วินาที)แบบสอบถามมีดังต่อไปนี้เพื่อเปรียบเทียบสองตารางและส่งคืน ID ที่ขาดหายไปโดยใช้ LEFT OUTER JOIN -
mysql> SELECT First_Table.Id FROM First_Table -> LEFT OUTER JOIN Second_Table ON First_Table.Id =Second_Table.Id -> โดยที่ Second_Table.Id เป็นค่าว่าง
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+------+| รหัส |+------+| 1 || 3 |+------+2 แถวในชุด (0.00 วินาที)