1

我正在处理我的 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 ','

我想知道关于标签的正确格式是什么。何时缩进的建议做法是什么(例如,第三行应该是两个制表符还是三个制表符?)。

4

2 回答 2

2

这都是高度主观的。

由于INTO OUTFILEandFIELDS选项属于整个SELECT语句,我可能不会在WHERE子句下方缩进它们,而是在最左边的位置(没有缩进)

由于您有多个WHERE条件,您可以将每个条件缩进一个新行。我会将相同的方法应用于SELECT列和FROM表。中的ON子句在它适用JOIN的 ed 表下方缩进。JOIN

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

缩进是一个非常主观的事情,最好的办法是与你的团队就如何缩进代码达成一致。

于 2012-04-06T18:24:41.520 回答
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 ','

查询的每个新行对齐的位置。缩进取决于它在代码中的位置以及使用的语言。但同样,这完全取决于个人喜好或公司标准。

于 2012-04-06T18:23:50.187 回答