gpt4 book ai didi

sql - Oracle SQL -- 查找不在表中的值

转载 作者:行者123 更新时间:2023-12-04 00:01:43 25 4
gpt4 key购买 nike

拿这张表 WORDS

WORD
Hello
Aardvark
Potato
Dog
Cat

还有这个 list :
('Hello', 'Goodbye', 'Greetings', 'Dog')

如何返回不在单词表中但在我的列表中的单词列表?

如果我有一张“包含所有可能的单词”的表格,我可以这样做:
SELECT * from ALL_WORDS_TABLE
where word in ('Hello', 'Goodbye', 'Greetings', 'Dog')
and word not in
(SELECT word from WORDS
where word in ('Hello', 'Goodbye', 'Greetings', 'Dog')
);

但是我没有这样的 table 。这还能怎么做?

此外,构建新表不是一种选择,因为我没有那个级别的访问权限。

最佳答案

不要将列表值硬编码到行中,而是使用 DBMS_DEBUG_VC2COLL将分隔列表动态转换为行,然后使用 MINUS用于消除第二个查询中不在第一个查询中的行的运算符:

select column_value 
from table(sys.dbms_debug_vc2coll('Hello', 'Goodbye', 'Greetings', 'Dog'))
minus
select word
from words;

关于sql - Oracle SQL -- 查找不在表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9996797/

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