如何在sql中创建(不等于或不等于或不等于..etc)查询

时间:2010-12-18 13:47:19

标签: mysql

我正在使用mySql服务器,我有这个表: 学生(studentId,studentName,section) 列部分可以填充(A,B,c,d,e,....或z)

我想要的是检索不在a或b或c部分的所有行 我的问题是如何写不等于或不等于...多次在where子句

这是我的尝试,但它无法正常工作

SELECT studentName, section
FROM Student
WHERE section <> 'a'OR section <> 'b' or section <> 'c' 

5 个答案:

答案 0 :(得分:1)

WHERE column NOT IN('A', 'b', ...)

答案 1 :(得分:1)

尝试

Where section not in('a', 'b', 'c')

答案 2 :(得分:1)

您的查询问题是OR。您希望改为使用AND。原因是每条记录总是匹配其中一个条件,因为它不可能是你检查不等式的所有三个(甚至两个)值。

更好的选择是使用IN子句,特别是NOT IN来指定要匹配的项目列表。即WHERE section NOT IN ('a','b','c')

答案 3 :(得分:1)

尝试

WHERE section NOT IN ('a','b','c')

答案 4 :(得分:0)

SELECT studentName, section
FROM Student
WHERE section <> 'a' and section <> 'b' and section <> 'c'

SELECT studentName, section
FROM Student
WHERE section not in ('a', 'b', 'c')