Я думаю, что каждый, кто хоть немного работал с базами данных сталкивался с задачей выбрать из таблицы только те записи, атрибут которых содержится (или не содержится) в другой таблице. Совершенно банальная на первый взгляд задача, однако она может быть решена несколькими способами.
В PostgreSQL все три конструкции (NOT) IN
, (NOT) EXISTS
и JOIN
могут выполнить поставленную задачу. В своей жизни я сталкивался с разными утверждениями - кто-то говорил, что всегда нужно использовать exists
ведь "он работает до первого совпадения, а значит быстрее", кто-то утверждал, что фильтрация через join
Читать полностью »