ลองกันดูสักนิดนะคะ
ถ้า A = รายชื่อนักเรียนทั้งหมด ,B =รายชื่อคนที่มาลงทะเบียน ,C=รายชื่อคนที่ไม่มาลงทะเบียน
สมการเราจะได้ว่า A = B + C หรือ A - B = C
ต้องสร้าง QUERY มาก่อนแล้วลอง TEST แต่ละ QUERY ให้ผ่านนะคะ
เวลาเอาโอเปอเรชั่นกันจะได้ไม่ ERROR
A คือ QUERY ของรายชื่อนักเรียนทั้งหมด
ในที่นี้สมมุติว่า SELECT * FROM student_table
B คือ QUERY ของรายชื่อคนที่มาลงทะเบียน
ในที่นี้สมมุติว่า SELECT * FROM registry_table
เนื่องจากไม่ทราบว่าออกแบบฐานข้อมูลไว้อย่างไรเลยสมมุติว่าอยุ่คนละตาราง
แต่ไม่ว่าจะอยู่ตารางเดียวกันหรือไม่ เราจะมี ID ไว้ระบุตัวนักเรียนอยู่แล้ว
ซึ่งเข้าใจว่าทั้งสองตารางจะมี ID ของนักเรียน
การนำมาลบออกใน SQL ตามหลักเลยคือ OPERATOR : NOT IN
ดังนั้น
เราจะหา QUERY C ได้จาก
SELECT * FROM student_table
WHERE student_id NOT IN ( SELECT student_id FROM registry_table);