gpt4 book ai didi

mysql - DELETE 语句中 INNER 和 LEFT join 有什么区别?

转载 作者:行者123 更新时间:2023-11-29 09:10:24 24 4
gpt4 key购买 nike

执行删除时,我可以通过执行 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 子句设置外键:

  1. 它是否与 INNER 或“LEFT”连接匹配(或以上都不匹配)?
  2. 这是否比使用联接“更好”(更快/更安全)?

我正在使用 MySQL,但我还想知道还有哪些其他数据库支持它。

最佳答案

不同之处在于内连接不会删除任何未连接的内容。左联接可以删除未联接的内容,具体取决于 WHERE 子句中的内容。

关于mysql - DELETE 语句中 INNER 和 LEFT join 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5773695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com