Проверка наличия группы ID в таблице SQL

Есть массив id ('1','2','88','3'...) Нужно проверить, что все эти id есть в таблице (SQL запрос), Если каких-то нет, вернуть не достающие в запросе. Например если в БД нет, '1' и '88', вернуть нужно их Как сделать такую проверку одним запросом, что бы не слать на каждый id запрос?

БД pgsql


Ответы (1 шт):

Автор решения: Ainar-G

Есть множество решений. Мне лично наиболее очевидным кажется использование оператора EXCEPT:

SELECT * FROM (VALUES (1), (2), (3), (88)) AS t_2
EXCEPT
SELECT id FROM t_1
;
→ Ссылка