Truy vấn này:
select sum(amount)
from aaa
where id not in (select id from bbb);
Được hiểu là:
select sum(aaa.amount)
from aaa
where aaa.id not in (select aaa.id from bbb);
bởi vì bbb.id
không tồn tại. Khi viết SQL, tôi khuyên bạn nên luôn sử dụng bí danh bảng. Truy vấn mà bạn nghĩ rằng bạn đang viết:
select sum(aaa.amount)
from aaa
where aaa.id not in (select bbb.id from bbb);
sẽ tạo ra lỗi mà bạn mong đợi.