Sqlite - эффективный запрос на выборку

У меня есть таблица в моей базе данных, я делаю Выбрать все на:

SELECT * FROM TableA;

Я хочу добавить столбец, который имеет значение true или false, если в другой таблице есть связанный столбец. Я могу сделать это с этим:

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

Но я не хочу считать КАЖДУЮ строку в Таблице B, чтобы решить эту проблему как неэффективную. Я по сути хочу EXISTS проверьте вместо подсчета.

Как мне заменить COUNT с EXISTS?

Спасибо!

2 ответа

Решение

Ах - только что понял ответ на свой вопрос

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
Другие вопросы по тегам