2012-04-06 39 views
1

我的工作我的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 OUTFILE '/var/tmp/file.csv' 
7   FIELDS TERMINATED BY ',' 

我想知道正确的格式将与问候选项卡的内容。什么时候缩进的建​​议做法是什么(例如,第三行是两个制表符还是三个制表符?)。

+0

做任何最可读的。如果您正在开发团队项目,请确定标准格式准则以供所有人使用。像很多(但不是全部)语言一样,缩进不会在SQL中产生功能差异。 – Wiseguy 2012-04-06 18:23:49

回答

2

这都是非常主观的

由于INTO OUTFILEFIELDS选项属于整个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 ',' 

缩进是一个非常主观的事情,做的最好的事情就是来与你的团队协议,你如何都缩进代码。

0

这是所有的个人偏好(或公司编码标准,取决于你的环境)。我倾向于写下我这样的查询:

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 ',' 

查询的每一行都对齐。缩进取决于它在代码中的位置以及正在使用哪种语言。但是,这一切都取决于个人偏好或公司标准。