@denism300

Как избавиться от конструкции NOT IN в запросе SQL?

как избавиться от конструкции NOT IN (SELECT ... ) в следующем запросе:
DELETE FROM table1 AS t1 
WHERE t1.id NOT IN (
   SELECT t2.id
   FROM table2 AS t2
   LEFT JOIN table3 AS t3 ON t3.id = t2.id
   WHERE t3.published = 1)

т.е. использовать вместо NOT IN конструкцию JOIN
  • Вопрос задан
  • 452 просмотра
Пригласить эксперта
Ответы на вопрос 2
@amfetamine
в чем прикол?)
Ответ написан
DELETE t1 FROM table1 AS t1 
LEFT JOIN table2 AS t2 ON (t1.id=t2.id)
LEFT JOIN table3 AS t3 ON (t3.id = t2.id AND t3.published = 1)
WHERE t2.id IS NULL

Как то так. Перед FROM указываешь из какой таблицы удалять
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы