执行删除时,我可以通过执行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
或“LEFT”加入(或上述任何一项)?我正在使用MySQL,但我也想知道哪些其他数据库支持它。
答案 0 :(得分:2)
不同之处在于内连接不会删除任何不连接的内容。左连接可以删除不加入的内容,具体取决于WHERE
子句中的内容。