Mysql 建议的SQL格式
我正在处理我的SQL,我有以下声明:Mysql 建议的SQL格式,mysql,sql,Mysql,Sql,我正在处理我的SQL,我有以下声明: 1 SELECT c.credit_display, t.title, t.provider 2 FROM credits c 3 INNER JOIN title t 4 ON c.vendor_id = t.vendor_id 5 WHERE c.position = 'Director' and t.provider = 'Premiere' 6 INTO OU
1 SELECT c.credit_display, t.title, t.provider
2 FROM credits c
3 INNER JOIN title t
4 ON c.vendor_id = t.vendor_id
5 WHERE c.position = 'Director' and t.provider = 'Premiere'
6 INTO OUTFILE '/var/tmp/file.csv'
7 FIELDS TERMINATED BY ','
我想知道标签的正确格式是什么。何时缩进的建议做法是什么(例如,第三行是两个制表符还是三个?)这都是个人偏好(或公司编码标准,取决于您的环境)。我倾向于这样写我的查询:
SELECT c.credit_display, t.title, t.provider
FROM credits c
INNER JOIN title t ON c.vendor_id = t.vendor_id
WHERE c.position = 'Director' AND t.provider = 'Premiere'
INTO OUTFILE '/var/tmp/file.csv'
FIELDS TERMINATED BY ','
其中查询的每一行都是对齐的。缩进取决于它在代码中的位置以及使用的语言。但同样,这取决于个人偏好或公司标准。这都是非常主观的 由于
到OUTFILE
和字段
选项属于整个SELECT
语句,我可能不会在WHERE
子句下面缩进它们,而是在最左边的位置(无缩进)
由于有多个WHERE
条件,因此可以在新行中缩进每个条件。我会对SELECT
列和FROM
表应用相同的方法。JOIN
中的ON
子句缩进到它所应用的JOIN
ed表下面
SELECT
/* each column on its own line */
/* unless it is only 1 column */
c.credit_display,
t.title,
t.provider
FROM
credits c
INNER JOIN title t
/* ON clause indented beneath the join */
ON c.vendor_id = t.vendor_id
WHERE
/* each condition on its own line */
c.position = 'Director'
AND t.provider = 'Premiere'
/* This apply to the entire statement so I would not indent them
INTO OUTFILE '/var/tmp/file.csv'
/* You might indent this and other LINES TERMINATED BY options
beneath the OUTFILE line */
FIELDS TERMINATED BY ','
缩进是一个非常主观的问题,最好的办法是与您的团队就如何缩进代码达成一致。做任何可读性最好的事情。如果您正在处理团队项目,请确定供每个人使用的标准格式准则。与许多(但不是所有)语言一样,缩进在SQL中并没有造成功能上的差异。