Трюк дня.
Как выбрать строки из таблицы #1, id которых отсутствуют в таблице #2 с условием?
SELECT "user"."vkId"
FROM "user" as "user"
LEFT JOIN "notification"
ON "notification"."userId"="user"."vkId"
AND "notification"."type" = 991
WHERE "notification"."userId" IS NULL
GROUP BY "user"."vkId"
LIMIT 100
Так же можно использовать
NOT EXISTS (в некоторых случаях он может быть быстрее, хотя в других - медленнее чем
LEFT JOIN):
SELECT "user"."vkId"
FROM "user" as "user"
WHERE NOT EXISTS(
SELECT 1 FROM "notification"
WHERE "notification"."userId"="user"."vkId"
AND "notification"."type" = 991
)
GROUP BY "user"."vkId"
LIMIT 100
#tips