sql语句 中 not 是否失效问题?

SELECT * FROM student s WHERE s.s_name not in (s.s_name='赵雷')
要求:
查询名字不等于赵磊
结果:
输出结果为赵磊信息
疑问:
sql 语句中 的 not 失效?

img

正确的语法应该是:

SELECT * FROM student s WHERE s.s_name <> '赵雷'

这个查询语句的意思是从名为 "student" 的表中选择所有行,其中名字不等于 "赵雷" 的学生信息。运用 "<>" 操作符表示不等于。

如果您使用 "not in" 操作符,则需要将查询语句改为:

SELECT * FROM student s WHERE s.s_name not in ('赵雷')

请注意,这个查询语句中的 "not" 是用于否定 "in" 操作符,它表示要选择不包含 "赵雷" 姓名的学生信息。如果您仍然遇到问题,请确认数据库中是否有重名的情况,可能会导致查询结果不符合预期。

not不是否的意思

SELECT * FROM student s WHERE s.s_name not in ('赵雷')
你的not in后边跟的是一个 集合或者数组,而不是一个boolean值,而且只是判断名字不等于赵磊的话,也可以这样
SELECT * FROM student s WHERE s.s_name !='赵雷'