MySQL查询表中不存在id

该博客探讨了如何通过SQL查询不存在于特定表中的ID。它提供了一个示例,展示了一个查询方法,该方法从给定的ID数组中找出不在用户表中的ID。查询涉及到子查询、字符串处理和LEFT JOIN来确定缺失的ID。
摘要由CSDN通过智能技术生成

MySQL查询表中不存在的id

要查询的id数组:[ 0, 1, 2, 3, 4, 5, 10000000, 10000001 ]

表中存在的id值:1, 2, 3, 4, 5

查询结果:查询结果

SQL:

SELECT
    t3.id
FROM
    (
        SELECT
            SUBSTRING_INDEX(SUBSTRING_INDEX(ids, ',', ht.help_topic_id), ',', -1) AS id
        FROM
            (
                SELECT
                    REPLACE(REPLACE(REPLACE(ids, ' ', ''), '[', ''), ']', '') AS ids
                FROM
                    (SELECT '[ 0, 1, 2, 3, 4, 5 ]' AS ids) AS t1
            ) AS t2
            INNER JOIN mysql.help_topic AS ht
        WHERE
            ht.help_topic_id BETWEEN 1 AND LENGTH(ids) - LENGTH(REPLACE(ids, ',', '')) + 1
    ) AS t3
    LEFT JOIN user AS u ON t3.id = u.id
WHERE u.id IS NULL;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值