Задать вопрос
@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
  • Вопрос задан
  • 484 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Stepik
    PRO C#. Базы данных
    2 месяца
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@amfetamine
в чем прикол?)
Ответ написан
@boolive
Developer
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 указываешь из какой таблицы удалять
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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