SQL语句的WHERE中,满足多个不等于的条件

SELECT * FROM TABLE1 WHERE (ID<>'XX' AND NAME<>'YY')
期望的结果是,ID不等于XX,而且NAME不等于YY的数据被检索。
但是,现在的运行结果是,所有ID不等于XX的都被检索了。
例如:TABLE1为
ID NAME
XX XX
XX YY
XX ZZ
AA BB
期望的结果为检索出
ID NAME
XX XX
XX ZZ

AA BB

第1个回答  2019-04-25
没错语句,你试下,where a+b<>'xxyy'
第2个回答  2019-04-27
你的条件不对,所以得不到你想要的结果,看你列出的结果,条件应该是Id=‘XX’ and Name=‘YY’。
第3个回答  2013-11-09
select id,name from table1 a where a.name <>'yy';

这样写不行?看你例子应该没问题的?

追问

这样的话,ID没有体现出来啊。
ID'XX',没有处理啊。

追答

你期望的结果里面id不是有‘xx’么?

第4个回答  2017-07-19
WHERE 字段 <> '条件1' AND 字段 <>'条件2' AND 字段 <>'条件3'
第5个回答  2013-11-09
SELECT * FROM TABLE1 WHERE ID<>'XX' AND NAME<>'YY'
最后应该是
AA BB追问

我想问,怎么能得到我想要的。

追答

XX XX
XX ZZ
你想得到这个?

追问

我想得到:
XX XX
XX ZZ
AA BB

去掉 XX YY 这条记录。

追答

SELECT * FROM TABLE1 WHERE name'XX' AND NAME'YY'

是name 不等于xx吧
你前面这条SELECT * FROM TABLE1 WHERE (ID'XX' AND NAME'YY')

id不等于xx?

追问

是的。
我想要的就是,剔除ID不等于XX,而且NAME不等于YY。
如果ID=XX, NAMEYY的,是不被剔除,要筛选出来的。
比如
ID :XX
NAME:ZZ
这条数据希望能被检索。
但是,SELECT * FROM TABLE1 WHERE name'XX' AND NAME'YY'

的话,这条数据也被剔除掉了。
我想问的问题,你明白了吗?

相似回答