是否使用JOIN?

34 浏览
0 Comments

是否使用JOIN?

这个问题已经有答案了:

可能是重复的:

INNER JOIN与WHERE子句之间有什么区别?

SQL JOIN:USING、ON或WHERE之间有什么区别?

例如,我有这个 SQL 语句:

SELECT *  
  FROM orders, inventory  
 WHERE orders.product = inventory.product

或者

SELECT *  
  FROM orders  
  JOIN inventory  
    ON orders.product = inventory.product

这两者之间有什么区别?

admin 更改状态以发布 2023年5月21日
0
0 Comments

内连接是ansi语法,应该是首选的方法。

如果您要使用逗号与很多表一起使用,那么这种解决方案会变得多么丑陋?
SELECT * FROM orders, inventory, products, logistics, accounting, materials, ...

请对您未来的开发人员以及查看或维护此代码的其他人友善,使用JOIN语法。

0
0 Comments

它们完全实现了同样的功能,但我建议采用第二种方法来提高可读性和可维护性。

  1. 使用JOIN允许您将定义表之间关系的条件与结果集上的过滤条件分开。

  2. 使用JOIN可以更轻松地查看是否缺少连接条件。

  3. 使用JOIN允许您轻松选择INNEROUTER JOIN之间的选择。 逗号语法等同于INNER JOIN(尽管一些数据库在使用第一种方法时具有允许外部连接的扩展)。

  4. 最重要的是保持一致。逗号语法与JOIN关键字具有不同的优先级,如果在同一查询中混合使用两种语法,可能会导致混淆的错误。因此,总是使用JOIN可以更容易地保持一致。

0