Дубликат:
Как сделать выбор в выборе
У меня есть 2 таблицы:
TABLE1
Table1Id
TABLE2
Table2Id
Table1Id
UserId
TABLE2 содержит тысячи записей. Я хочу вернуть список записей TABLE1, для которых нет записи в TABLE2 для конкретного пользователя Итак, где нет записи внешнего ключа в TABLE2. Запрос типа:
select count(*) from TABLE1 where Table1Id not in (
select Table1Id from TABLE2 where id_user = 1)
Однако этот запрос выполняется очень медленно. Какой самый эффективный способ получить требуемые результаты?