gpt4 book ai didi

mysql - 获取mysql表中不存在的值

转载 作者:可可西里 更新时间:2023-11-01 07:53:21 26 4
gpt4 key购买 nike

我有一组值(键),1,2,3,4,5 和下表:

id key
------
1 2
2 8
3 4

如果我需要检查哪些给定键在数据库中,我使用:

SELECT * 
FROM mytable
WHERE key IN (1,2,3,4,5)

所以我会得到带有键 2 和 4 的行。

是否有某种 mysql 方法可以找出哪些给定键不在数据库中?所以在这种情况下,我想得到 1,3,5。

最佳答案

用你的键创建临时表:

CREATE TEMPORARY TABLE mykeys (`key` INT);
INSERT INTO mykeys VALUES (1),(2),(3),(4),(5);

然后使用 NOT IN:

SELECT `key`
FROM mykeys
WHERE `key` NOT IN (SELECT `key` FROM mytable)

最后,如果必须,请删除您的 TEMP 表:

DROP TABLE mykeys

编辑:添加了SQLFiddle .


如果您使用的是支持 EXCEPT operator 的 PostgreSQL ,并且 VALUES 语句可用于从值列表创建行集,还有另一种更简单的方法可以在没有临时表的情况下执行此操作(SQLFiddle):

VALUES (1),(2),(3),(4),(5)
EXCEPT
SELECT key FROM mytable

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

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