Рефакторинг Sql-запроса (Postgresql)

Всем доброго дня! Вопрос следующий: Имеются 3 таблицы:

Users
id
name
Shops
id
Users_Shops
user_id
shop_id

Отношения между таблицами Users и Shops многие-ко-многим через таблицу Users_Shops

Например, в таблице Shops - 5 магазинов, с id 1, 2, 3, 4, 5. Пользователь добавил в свой список магазины с id 2, 3

Как получить id магазинов, которых нет в списке пользователя?

Сейчас использую такой sql:

SELECT * FROM Shops WHERE id != (SELECT shop_id From Users_Shops WHERE user_id = $1)

Это работает, но получается я делаю 2 запроса в БД, можно ли как-то обойтись одним?

Спасибо за Ваши ответы!


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