从结果中排除在子查询中导致mysql的结果

时间:2012-08-02 18:39:59

标签: php mysql subquery

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

例如: 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。基本上从结果中删除子查询结果中的内容。

我知道存在不起作用,因为它只给出了真假,但任何其他方法?

谢谢大家。

2 个答案:

答案 0 :(得分:0)

select * from table1 where num <> 3;

OR

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

详细说明你想要的东西。

答案 1 :(得分:0)

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

SELECT * FROM table WHERE column1 NOT IN (SELECT column1 FROM table WHERE column2 = 3)