这两种联接表方法之间的区别?

这两种联接表方法之间的区别?,第1张

这两种联接表方法之间的区别?

除语法外,对于小片段,它们的工作原理完全相同。但是,如果有可能,请始终使用ANSI-JOIN编写新查询。

至于语义上,逗号用于在两个表之间生成CARTESIAN乘积,这意味着生成表A中的所有记录与表B中的所有记录的矩阵,因此具有4和6条记录的两个表分别生成24个记录。然后,使用WHERe子句,可以从此笛卡尔积中选择实际需要的行。但是,MySQL实际上并没有遵循并建立这个庞大的矩阵,但是从语义上讲,这就是它的意思。

JOIN语法是ANSI标准,可以更清楚地定义表之间的交互方式。通过将该

ON
子句放在旁边
JOIN
,可以使两个表链接在一起。

从功能上讲,它们将对您的两个查询执行相同的 *** 作。开始使用其他

[OUTER]
JOIN类型时会有所不同。

特别是对于MySQL,逗号符号确实有一个区别

STRAIGHT_JOIN与JOIN相似,不同之处在于总是在右表之前读取左表。这可以用于联接优化器将表以错误的顺序放置的那些(很少)情况。

但是,利用这种差异是不明智的。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5014684.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存