@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
  • Вопрос задан
  • 466 просмотров
Пригласить эксперта
Ответы на вопрос 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 указываешь из какой таблицы удалять
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы