【发布时间】:2019-10-02 19:48:12
【问题描述】:
我有一组ids。例如,12, 3, 6, 10。我需要检查每个ids 是否存在(实际上,我有复杂的WHERE 条件,但没关系)。
所以,我可以执行 N 个查询,如下所示:
SELECT 1 FROM tbl WHERE id=12;
SELECT 1 FROM tbl WHERE id=3;
SELECT 1 FROM tbl WHERE id=6;
SELECT 1 FROM tbl WHERE id=10;
或者我可以执行一个查询,但它包含慢GROUP BY and COUNT(*):
SELECT id, COUNT(*)
WHERE id IN (12, 3, 6, 10)
GROUP BY id
是否有更快速的方法来检查所有带有一些WHERE condition 的行是否存在,而不使用GROUP BY?
【问题讨论】:
标签: sql postgresql exists