SQL 查询中的空处理



我有下表:

所有记录

我想获得满足某些条件的记录。

下面是查询,它返回 3 个结果:

满足查询的记录

现在我想要不满足剩余记录的记录(即在上一个查询中不满足条件的记录),我希望总共有 4 行返回。所以我正在执行查询:

查询剩余记录

但是,没有返回记录编号 4,我知道 col2 值"null"导致了这个问题。

我什至尝试了 NVL 和合并功能,但没有任何运气:

nvl_coalesce_queries

所以基本上,我希望在"NOT"查询中有 4 行。

如果有任何建议,请告诉我。

使用类似的东西

select *
from tmp_dbg3
where col0 not in (select col0 from tmp_dbg3 where <your 'satisfying' condition>)

尝试使用 NOT IN 运算符:

https://technet.microsoft.com/en-us/library/ms189062(v=sql.105).aspx

SELECT * FROM database
WHERE id NOT IN (SELECT id FROM database WHERE  *your conditions*)

我假设数据库中的第一列是自动增量键。 我个人更愿意使用它来确定哪些列不在您的条件下,而不是 col1。

相关内容

  • 没有找到相关文章

最新更新