在一个表中查找在另一个表中没有对应行的行SQL

时间:2018-02-05 22:56:35

标签: sql

我试图从一个表中获取某些记录,这些记录在另一个表中不存在多个字段。例如,如果我有表1:

 Account    Animal
 123    dog
 456    cat
 789    bird

和表2一样:

Account Animal
123 cat
456 cat

我想要的最终表格是:

Account Animal
123 dog

以下是我的尝试:

选择      一个。* 从      table1左连接table2      在a.account = b.account和a.animal = b.animal 哪里      b.animal为空

1 个答案:

答案 0 :(得分:2)

您似乎想要帐户匹配但动物不一样。

这表明内部联接和过滤:

select a.*
from table1 a join
     table2 b
     on a.account = b.account 
where a.animal <> b.animal ;

这适用于您的样本数据,但它确实假设没有重复项。