SELECT * FROM table WHERE id != 4;
SELECT * FROM table WHERE NOT id = 4;
SELECT * FROM table WHERE id <> 4;
我已经有了这个工作,但我还必须选择另一个字段(或多个字段)来决定返回哪些行。选择除MySQL两个字段以外的所有行
我该如何得到这个工作?
SELECT * FROM table WHERE id != 4;
SELECT * FROM table WHERE NOT id = 4;
SELECT * FROM table WHERE id <> 4;
我已经有了这个工作,但我还必须选择另一个字段(或多个字段)来决定返回哪些行。选择除MySQL两个字段以外的所有行
我该如何得到这个工作?
如果你想其中两个条件都满足(ID1
是4和ID2
为7),使用类似以“取消”列:
select * from TBL where ID1 <> 4 or ID2 <> 7;
ID1 ID2 selected
--- --- --------
4 7 no
4 1 yes
1 7 yes
1 1 yes
如果你想“取消”列,其中任一条件为真(ID1
为4或ID2
是7),使用这样的:
select * from TBL where ID1 <> 4 and ID2 <> 7;
ID1 ID2 selected
--- --- --------
4 7 no
4 1 no
1 7 no
1 1 yes
这可以被扩展到多个条件简单地通过将它们添加到where
子句的端部(和改变0文中的至all/any
)。
从相册中选择* idAlbum
!= 4和idAlbum
!= 8我只是解决了我的问题。谢谢你们的帮助!
你已经使用*选择所有字段 - 所以我不清楚你的问题是什么。如果您询问了检查不平等的三种方法之间的差异,请参阅此答案:http://stackoverflow.com/questions/7884/testing-for-inequality-in-t-sql – kinakuta 2011-06-16 04:14:02
'NOT id = 4;'o_O – zerkms 2011-06-16 04:15:02
你的问题的措辞有点不清楚,所以我试图澄清。请让我知道,如果我塞满了它,所以它可以修复。 – paxdiablo 2011-06-16 04:21:39