【问题标题】:How to check if the value not in the table如何检查值是否不在表中
【发布时间】:2019-12-29 20:19:47
【问题描述】:

我正在创建一个使用 where in 的 sql 查询,如果值不在表中,如何返回 false。

select * from table where id in (1,2,3,4)

我的内容有1,2,3,4,返回1和2,但是如果3,4不在表中,怎么返回消息说3,4不在表中。

【问题讨论】:

  • 考虑处理应用代码中数据显示的问题
  • 您应该澄清这是哪个数据库。您不太可能在 SQLite 和 MySQL 中都这样做。

标签: python-3.x sqlite not-exists


【解决方案1】:

只需使用NOT 关键字:

select * from table where id NOT in (1,2,3,4)

请注意,NULL 值永远不会传递 IN 或 NOT IN。

【讨论】:

  • 您好,感谢您的解决方案。但我想选择它们在表中的 1,2,但 3,4 为空,我想得到 1,2 的结果,但有 3、4 的消息它们为空。
  • 因为不在查询中会返回表中除1,2以外的所有值
  • @grevisha 在这种情况下,您的原始代码是正确的。您不会从数据库中获得 3 或 4 的任何结果。然后您的应用程序代码会看到 3/4 没有返回任何结果并打印出您的消息。一般来说,这不是您应该在数据库方面做的事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-11
  • 2019-11-13
  • 2021-04-16
  • 2021-08-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多