如何在列中查找未使用的ID?

Nap*_*Nap 2 sql

可能重复:
用于查找缺失序列号的SQL查询

我有一个具有用户ID列的表,用户可以选择要在表中添加的用户ID.我想知道是否有一个SQL代码可以指向未使用的用户ID列表,甚至只是最小的未使用的ID?

例如,我有以下ID

USER_ID 1 2 3 5 6 7 8 10

我想知道是否有办法选择4甚至选择4和9?

Mr.*_*ith 6

您可以尝试使用"NOT IN"子句:

select
    user_id
from table
where
    user_id not in (select user_id from another_table)
Run Code Online (Sandbox Code Playgroud)

像这样:

select
    u1.user_id + 1 as start
from users as u1
  left outer join users as u2 on u1.user_id + 1 = u2.id
where
    u2.id is null
Run Code Online (Sandbox Code Playgroud)

这里开始.