计算两个表之间的重叠值?

时间:2013-06-24 16:15:11

标签: sql sqlite count duplicates

我有两个表与序列列结构相同,我试图计算出现在两个不同表中的序列数。 我现在正在使用它:

SELECT A.sequence FROM p2.pool A WHERE EXISTS (SELECT * from
p1.pool B WHERE B.sequence = A.sequence) 

然后我将计算结果的数量。 有没有更简单的方法使用COUNT这样做,所以我不必先得到所有的结果?

1 个答案:

答案 0 :(得分:1)

是的,使用COUNT的方式更简单:

SELECT COUNT(*)
FROM p2.pool A
WHERE EXISTS (SELECT *
              FROM p1.pool B
              WHERE B.sequence = A.sequence)

您也可以使用连接而不是子查询,但速度不太可能改变:

SELECT COUNT(*)
FROM p2.pool A
JOIN p1.pool B ON A.sequence = B.sequence