При выполнении удаления я могу сжать строки в двух или более таблицах, выполнив LEFT JOIN
.
DELETE a, b FROM
table1 a
LEFT JOIN table2 b on (a.id = b.id)
WHERE ...
Я также могу сделать INNER JOIN
DELETE a, b FROM
table1 a
INNER JOIN table2 b on (a.id = b.id)
WHERE ...
Что точно есть разница между этими двумя?
А как насчет других объединений
Имеет ли смысл использовать другие типы объединений в операторе delete
икак они могут быть полезны?
В чем разница между удалением ... объединением и использованием внешнего ключа
Если я задаю внешний ключ с помощью предложения ON DELETE CASCADE
:
- Соответствует ли это соединению
INNER
или «ВЛЕВО» (или ничего из вышеперечисленного)? - Это как-то «лучше» (быстрее / безопаснее), чем использование соединения?
Я использую MySQL, но мне также хотелось бы знать, какие другие базы данных его поддерживают.