วิธีการเขียน 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 | นายไข่ | คนเดิมเดิม |
