是否可以在单个 SQL 语句中执行以下操作:
例如,在提示中使用电话号码的子集8001231000-8001239999
。然后查询我的数据库中有电话号码,并返回原始子集中哪些电话号码不在我的数据库中?我的数据库是Oracle 10g。
基本上不是带回哪些电话号码在8001231000-8001239999
,我想知道之间有哪些电话号码8001231000-8001239999
不在我的数据库中。
假设电话号码是一个NUMBER,可以生成特定范围内所有电话号码的列表
SELECT level - 1 + 8001231000
FROM dual
CONNECT BY level <= 8001239999-8001231000+1
然后,您可以将该范围内的所有电话号码列表加入到您的实际电话号码表中。就像是
WITH all_numbers AS (
SELECT level - 1 + 8001231000 phone_number
FROM dual
CONNECT BY level <= 8001239999-8001231000+1
)
SELECT *
FROM all_numbers a
WHERE NOT EXISTS(
SELECT 1
FROM phone_numbers p
WHERE a.phone_number = p.phone_number)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)