如果我的数据库的水果表包含
- 苹果
- 梨
我的IN
陈述包含
- 梨
- 苹果
- 香蕉
如何找到IN
语句中存在但数据库中不存在的值?因此,在这种情况下,回报将是香蕉。目标是在IN
语句中找到拼写错误的水果。我尝试了一个子查询以及该HAVING
子句,但无法自己让它工作。
编辑以修复@Xavier-Holt 指出的矛盾描述
你可以写:
SELECT misspelled_fruit
FROM ( SELECT 'pears' misspelled_fruit
UNION SELECT 'apples'
UNION SELECT 'bananas'
) t
WHERE misspelled_fruit NOT IN ( SELECT DISTINCT fruit FROM fruits )
;
就像是
SELECT * FROM MyTable WHERE Fruit NOT IN ('pears', 'apples', 'bananas')
那会返回类似的东西
peers
appels
bannannas