我有一个列表say(“apple”,“banana”,“橙子”)。如果这些列的值在名为“fruit”的表下名为“name”的列中不可用,我想找到哪个。我需要DB2数据库的SQL
xyhw6mcr1#
SELECT t1.name FROM ( VALUES ('apple'),('banana'),('orange') ) t1(name) where t1.name not in (Select name from fruit)
jckbn6z72#
作为首选项,请考虑使用“异常连接”
SELECT t1.name FROM ( VALUES ('apple'),('banana'),('orange') ) t1(name) EXCEPTION JOIN fruit ON fruit.name = t1.name
注意:如果您改用“LEFT OUTER JOIN”(如下所示),水果数据行中具有NULL值的数据列仍会指出水果数据表中没有的值,但您也会看到与符合之水果数据列相关的所有数据:
SELECT t1.name , fruit.* FROM ( VALUES ('apple'),('banana'),('orange') ) t1(name) LEFT OUTER JOIN fruit on fruit.name = t1.name
2条答案
按热度按时间xyhw6mcr1#
jckbn6z72#
作为首选项,请考虑使用“异常连接”
注意:如果您改用“LEFT OUTER JOIN”(如下所示),水果数据行中具有NULL值的数据列仍会指出水果数据表中没有的值,但您也会看到与符合之水果数据列相关的所有数据: