1

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

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

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

4

1 回答 1

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
于 2013-06-24T16:48:21.517 回答