Flowchart · Logic ba trị
Cùng một dòng, NOT IN loại còn NOT EXISTS giữ
Cùng một dòng, NOT IN loại còn NOT EXISTS giữ
Dòng có thanh_pho = 'HCM' đi qua hai nhánh. NOT IN khai triển thành 'HCM' <> NULL, ra UNKNOWN nên WHERE loại dòng, cả câu trả về 0 dòng. NOT EXISTS chạy subquery, NULL = 'HCM' không khớp nên subquery rỗng, NOT EXISTS ra TRUE và dòng được giữ, cả câu trả về 3 dòng.
NOT IN
NOT EXISTS
KHÔNG
CÓ
Một dòng của bảng kh
thanh_pho = 'HCM'
Khai triển NOT IN
'HCM' <> NULL
Chạy subquery
NULL = 'HCM' → không khớp
Kết quả: UNKNOWN
không TRUE, không FALSE
Kết quả: TRUE
subquery rỗng → NOT EXISTS
WHERE:
là TRUE?
WHERE:
là TRUE?
Dòng bị loại
cả câu NOT IN: 0 dòng
Dòng được giữ
cả câu NOT EXISTS: 3 dòng
CHÚ GIẢI
Bắt đầu / kết thúc
Bước đánh giá
Bộ lọc WHERE
Dòng mất khỏi kết quả
Dòng sống sót
© tiennhm