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

เปรียบเทียบสองตารางและส่งคืนรหัสที่ขาดหายไปโดยใช้ MySQL LEFT OUTER JOIN


หากต้องการเปรียบเทียบสองตารางและส่งคืนรหัสที่ขาดหายไป คุณต้องใช้ 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 วินาที)