使用SQL查找两列

时间:2016-02-05 04:32:59

标签: sql sql-server-2012

我有一项任务。对于Instance,我有2个表。 表1列ID,名称 表2列ID,名称

数据如表1所示:

                        ID Name
                         1   A
                         2   B
                         3   C 

数据如表2所示:

                        ID Name
                         1   D
                         2   B
                         3   E

我想编写一个SQL查询,在两列中查找两个表。我想要计数,它记录与表2不匹配(两列)。

这里只匹配了一条记录(2 B)。所以,我应该得到计数2。

感谢。

1 个答案:

答案 0 :(得分:1)

使用not exists计算table1中不在table2中的行数

select count(*) from mytable t1
where not exists (
    select 1 from mytable t2
    where t2.id = t1.id
    and t2.name = t1.name
)