Sqlite - 高效 select 计数查询

Sqlite - efficient select count query

我的数据库中有一个 table 我做了一个 Select 全部在:

SELECT * FROM TableA;

如果花药 table 中有相关列,我想附加一个判断为真或假的列。我可以这样做:

SELECT *, (SELECT COUNT(Id) > 0 FROM TableB WHERE Id = TableA.Id) FROM TableA;

但我不想计算 TableB 中的每一行来解决这个问题,因为它效率低下。我基本上想要一个 EXISTS 检查而不是计数。

如何将 COUNT 替换为 EXISTS

谢谢!

啊 - 刚刚意识到我自己的问题的答案

SELECT *, EXISTS(SELECT Id FROM TableB WHERE Id= TableA.Id) AS DoesExist FROM TableA

通过使用 left join

SELECT a.*, b.id is not null as condition_check
FROM TableA a
LEFT JOIN TableB b ON a.Id = b.Id