0

如果我的数据库的水果表包含

  1. 苹果

我的IN陈述包含

  1. 苹果
  2. 香蕉

如何找到IN语句中存在但数据库中不存在的值?因此,在这种情况下,回报将是香蕉。目标是在IN语句中找到拼写错误的水果。我尝试了一个子查询以及该HAVING子句,但无法自己让它工作。

编辑以修复@Xavier-Holt 指出的矛盾描述

4

2 回答 2

1

你可以写:

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 )
;
于 2012-11-13T20:49:22.357 回答
0

就像是

SELECT * FROM MyTable WHERE Fruit NOT IN ('pears', 'apples', 'bananas')

那会返回类似的东西

peers
appels
bannannas
于 2012-11-13T20:46:25.780 回答