PostgreSQL中两个表之间不匹配记录的计数

时间:2018-01-09 22:00:29

标签: sql database postgresql join

如何获取PostgreSQL中两个表之间不匹配记录的数量?

Create Table t1
(
 id integer NOT NULL,
 name text,
 address text
 );

Create Table t2
(
 name text,
 contact varchar(12)
 );

 insert into t1 values(1, 'A INc',  '29 Ave. Toronto, ON');
 insert into t1 values(2,  'B INc', '115 Street New York, NY');

 insert into t2 values('A Inc',  '123-456-7890');
 insert into t2 values('C INc', '234-567-8901');

如何通过查询

获取不匹配记录的行数

预期产量:       的计数           的 1 结果的输出必须是Count:1

2 个答案:

答案 0 :(得分:2)

这应该有效:

select count(*) from t1 where name not in(select name from t2 )

答案 1 :(得分:0)

使用外部联接查找不属于某个集的行。

select count(*)
from t1
right join t2
on t1.name = t2.name
where t1.name is null;