sql语句的not加()和不加()的区别

问题遇到的现象和发生背景

select * FROM courses where NOT teacher_id = 3 and student_count > 800 和select * FROM courses where NOT (teacher_id = 3 and student_count <= 800 ) 我想问下这两个的处理逻辑不一样吗

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

not 貌似一般不单独用的吧?
加了括号就对括号里的判断取反
不加则对not 后面的第一个字段生效

第一个not只对teacher_id = 3生效,第二个对括号里的语句生效

养成写SQL的好习惯,尽量不要用not或者!=,<>等来操作数据,会导致索引失效