INNER JOIN和WHERE之间的区别?

Pan*_*wal 6 t-sql inner-join where

第一个查询:

Select * from table1 inner join table2 on table1.Id = table2.Id
Run Code Online (Sandbox Code Playgroud)

第二个查询:

Select * from table1, table2 where table1.Id = table2.Id
Run Code Online (Sandbox Code Playgroud)

这些关于应该使用的性能的查询有什么区别?

Akr*_*hda 13

您发布的两个陈述在逻辑上是相同的.实际上没有理由偏爱另一个,这在很大程度上取决于个人风格和可读性.有些人更喜欢INNER JOIN语法,有些人更喜欢使用WHERE.

参考使用内部连接:

在ISO标准中,可以在FROM或WHERE子句中指定内部联接.这是ISO在WHERE子句中支持的唯一连接类型.WHERE子句中指定的内部联接称为旧式​​内部联接.

参考加入基础知识:

在FROM子句中指定连接条件有助于将它们与可能在WHERE子句中指定的任何其他搜索条件分开,并且是指定连接的推荐方法.

Personaly,我更喜欢使用INNER JOIN.我发现它更加清晰,因为我可以将连接条件与过滤条件分开,并为每个连接表使用单独的连接块.