不在 SQL "IN" 子句中的记录/文本



返回一组(数组?("IN"子句找不到的字符串的最佳方法是什么。例如

假设水果表只包含"苹果"、"桃子"、"猕猴桃"和"香蕉"。 下面的查询将返回"苹果"和"香蕉">

SELECT FRUIT_NAME 
FROM FRUIT 
WHERE FRUIT_NAME IN ('APPLE', 'BANANA', 'ORANGE', 'PEAR')

如何返回"橙色"和"梨",即不在表中但属于搜索条件一部分的项目?

一般的方法是做left join

select t.*
from (select 'APPLE' as fruits union all
select 'BANANA' union all
select 'ORANGE' union all
select 'PEAR') t left join FRUIT f
on t.fruits = f.fruits 
where t.fruits is null;

最新更新