gpt4 book ai didi

mysql - 获取表中不存在的 ID 列表

转载 作者:行者123 更新时间:2023-11-29 05:29:52 26 4
gpt4 key购买 nike

假设我有一个 ID 列表,例如(1, 3, 9, 2, 4, 86),以及一个带有列 id 的表。我想找到列表中没有匹配行的所有数字。

即如果 mysql 表是这样的:

id  letter
1 a
2 b
3 c
4 d
5 e
6 f
7 g

我有列表 (1, 3, 9, 2, 4, 86),我想要一个返回 (9, 86) 的查询。

我唯一能想到的就是建立一个非常大的虚拟表,比如:

select 1 as n union select 3 as n union select 9 as n union ....

然后我可以加入反对。有没有更好的办法?我希望能够在 mysql 中完成这一切。作为旁注(虽然我不认为它是相关的),我的表有大约 10,000 行,我使用的列表中有大约 100 个数字。

最佳答案

您必须首先创建一个包含LIST

元素的表

(1, 3, 9, 2, 4, 86)

create table t
(
num int
)
insert into t
values
(1),(3),(9),(2),(4),(86)

现在你可以使用NOT IN

SELECT num
FROM t
WHERE num not in (select id from letter_table);

SQL Fiddle

来自评论编辑:

有一种方法可以让您不必创建

select N from
(select 1 as N
union all
select 3 as N
union all
select 9 as N
union all
select 2 as N
union all
select 4 as N
union all
select 86 as N)t1
where t1.N
not in (select id from letter_table)

请引用 New SQL Fiddle .

我认为 OP 想要的是 Edited 部分。

附言确保您的数据库中不存在表 t1

关于mysql - 获取表中不存在的 ID 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15950107/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com