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

タブに関して正しいフォーマットはどうなるのだろうかと思っていました。インデントするタイミングについて推奨される方法は何ですか(たとえば、3行目は2つのタブまたは3つのタブにする必要がありますか?)。

4

2 に答える 2

2

これはすべて非常に主観的です。

INTO OUTFILEandFIELDSオプションはステートメント全体に属しているため、おそらくSELECT句の下WHEREではなく、左端の位置にインデントします(インデントなし)。

複数のWHERE条件があるため、それぞれを新しい行にインデントできます。同じことをSELECT列とFROMテーブルに適用します。のON句は、適用されるedテーブルJOINの下にインデントされています。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 に答える