NOT
NOT flips a test. WHERE NOT (marks < 40) is marks >= 40, but NULL still fails the test (unknown). WHERE city NOT IN ('Pune') vs WHERE NOT city = 'Pune' — NULL city is not ‘Pune’ and not ‘not Pune’ in three-valued logic.
NOT LIKE, NOT EXISTS, != / <> are cousins. Prefer readable: WHERE marks >= 40 instead of NOT (marks < 40) when you can.
Trap — NOT IN with NULL. Trap: assuming NOT makes NULL into true.
On the example next to this theory: NOT: create two demo rows, then SELECT qty >= 2 ordered. Say which labels come back.
Exam tip
WHERE marks >= 40 rather than NOT (marks < 40).