是否可以在子查询的结果中不显示某些内容。
示例: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。基本上从结果中删除子查询结果中的某些内容。
我知道存在对此不起作用,因为它只给出真假,但还有其他方法吗?
谢谢大家。
select * from table1 where num <> 3;
?
或者
select * from table1 where id NOT IN (select id from table2 where num = 3);
详细说明你想要的。
您可以使用NOT IN
,但子查询必须只返回一列(我认为存在同样的事情)。像这样的东西:
SELECT * FROM table WHERE column1 NOT IN (SELECT column1 FROM table WHERE column2 = 3)