Об удалении MySQL с помощью ключей

#mysql #sql #join #key #inner-join

#mysql #sql #Присоединиться #Клавиша #внутреннее соединение

Вопрос:

Как удалить все напоминания, относящиеся к новостям, созданным Джеком?

Это таблицы, созданные мной с теми же данными, и теперь я хочу запустить SQL-запрос для вышеуказанного требования.

введите описание изображения здесь

Это то, что я пробовал

 DELETE FROM reminders
USING news
INNER JOIN reminders
WHERE CreatedBy = 'Jack'
      AND reminders.ReminderId = news.NewsId;
 

Ответ №1:

Я нахожу USING синтаксис в MySQL deletes немного запутанным, потому USING что он уже используется синтаксически в качестве замены ON .

Что-то вроде этого должно работать:

 DELETE r
    FROM reminders r JOIN
         news n
         USING (NewsId)
    WHERE n.CreatedBy = 'Jack';
 

Обратите внимание, что условие объединения включено NewsId в обеих таблицах.