sql - 样式/格式对 SQL 的影响

标签 sql coding-style

忽略版本,格式化 SQL 代码的最佳实践是什么?

我更喜欢这种方式(方法A):

select col from a inner join b on a.id = b.id inner join c on b.id = c.id

一位同事更喜欢另一种方法(方法 B):

select col from a inner join (b inner join c on b.id=c.id) on a.id = b.id

我想知道是否有任何区别 - 查询优化器似乎为两者生成相同的执行计划。那么也许这只是为了可读性?

第一次看到用方法B写的SQL,还有人这样写SQL吗?我个人觉得方法B很难读懂。

编辑:请注意,代码位于一行且大写,以使两者在本问题中更具可比性。

最佳答案

我认为 A 更具可读性,并且大多数示例代码都使用这种风格。两者解析相同并产生相同的查询计划,因此就 SQL Server 而言,没有区别。

我通常也会大写关键字并缩进以提高可读性:

SELECT col 
FROM a 
  INNER JOIN b 
    ON a.id = b.id  
  INNER JOIN c 
    ON b.id = c.id

关于sql - 样式/格式对 SQL 的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3342504/

相关文章:

java - jooq getValue(String fieldName) 不同表中同名的列

c# - 在 C# 中完成方法指南和最佳实践

ruby-on-rails - Ruby if 语句 - 如何避免多个 elsif 语句,包括 not

mysql - 忽略关系表上其他用户的行

sql - 如何过滤连接两个表的 SQL 查询,其中一个项目与其连接的太多项目相关联?

coding-style - Is或Are前缀为 bool 值

c++ - uint32_t,用于表示变量大小的 int_t 表示法

c++ - #pragma once 与包括 guard ?

sql - MySQL now() +1 天

sql - 合并表并删除重复项 : Use Join, 联合或两者