mysql - 查询应返回表中不存在的值

标签 mysql sql database oracle

我有

  • 主键列表(大约 10 个)。
  • 一个表有 100 行。

假设我有 10 个键,如果在表中找到 8 个键。

我需要表中不存在的剩余 2 个键的输出。

例如:我有 10 个 empl id,需要在 Empl 表中查询。 Empl 表有 100 行甚至更多行。在我拥有的 10 个 empl id 中,empl 表中只有 8 个。我需要获取 empl 表中不存在的剩余 2 个 empl id。 注意:如果您使用 not in ,它将给出 empl 表中的所有其他 empl id。但我只需要那两个不存在的。

最佳答案

为了让查询更短一些,我给你举了一个 3 个键的例子,你必须在表中 checkin

select k.*
from
(
  select 1 as pk
  union all
  select 3
  union all
  select 7
) k
left join your_table t on t.id = k.pk
where t.id is null

关于mysql - 查询应返回表中不存在的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33022187/

相关文章:

sql - "<>"在 Oracle 中是什么意思

php - 如何获得最节省 SQL PHP

java - Android:数据库操作耗电吗?

php - 在 laravel 5.2 中查询 groupBy 内的原始数据

php - 我想从 2 个不同的表中检索列表中的数据

mysql从另一个具有ip范围的表中查找ip地址

php - 在动态 div 中显示下拉菜单

MYSQL 选择计数、求和、内连接和分组依据

ruby-on-rails - 向 Heroku 数据库插入记录

python - 优化创建/运行多个 SQLalchemy 引擎?