0

是否可以在子查询的结果中不显示某些内容。

示例:table1:有 4 个数字,1,2,3,4。所以 select * from table1 显示 4 结果

是否可以制作:

    select * from table1 where not exists(select * from table1 where num = 3)

所以结果将是 1,2,4。基本上从结果中删除子查询结果中的某些内容。

我知道存在对此不起作用,因为它只给出真假,但还有其他方法吗?

谢谢大家。

4

2 回答 2

0

select * from table1 where num <> 3;?

或者

select * from table1 where id NOT IN (select id from table2 where num = 3);

详细说明你想要的。

于 2012-08-02T18:44:01.357 回答
0

您可以使用NOT IN,但子查询必须只返回一列(我认为存在同样的事情)。像这样的东西:

SELECT * FROM table WHERE column1 NOT IN (SELECT column1 FROM table WHERE column2 = 3)
于 2012-08-02T18:44:23.407 回答