วิธีการเขียน SQL เช็คความแตกต่างของข้อมูล 2 ตาราง

เมื่อเราเขียนโปรแกรมไประยะหนึ่งมักจะมีปัญหาเรื่องการจัดการข้อมูลใน Database การเปลี่ยนแปลงอาจส่งผลกระทบต่อระบบอื่นๆได้ บางครั้งอาจต้องใช้วิธีสร้างอีกตารางขึ้นมา แล้วเปรียบเทียบว่าผลลัพท์ที่ได้จะเหมือนตารางเดิมหรือเปล่า การเช็คด้วยตาหรือ copy มาเทียบด้วย excel อาจเสียเวลา เราสามารถใช้วิธีง่ายๆ ต่อไปนี้เพื่อเช็คได้ครับ

Table1

ID  Name Description
1 นายไก่ เหมือนเดิม
2 นายไข่ คนเดิมเดิม

Table2

ID  Name Description
1 นายไก่ เหมือนเดิม
2 นายไข่ คนเดิมที่แตกต่าง

 

วิธีการเขียน SQL เช็คความแตกต่างของข้อมูล 2 ตารางด้วยคำสั่ง Except
หมายเหตุ ใช้ได้กับตารางที่มีคอลัมน์เหมือนกันเท่านั้นนะครับ
 


select * from table1 except select * from table2

 

ผลลัพท์ที่ได้

จะแสดงรายการที่ในตารางที่ 1 กับตารางที่ 2 ไม่เหมือนกัน (โดยจะยึดข้อมูลในตารางแรกเป็นตัวตั้ง)

ID  Name Description
2 นายไข่ คนเดิมเดิม