SQLキーワードを大文字にする正当な理由は何ですか?


28

キーワードを大文字にしてSQLを作成する開発者が多いようです。

SELECT column
FROM table
     INNER JOIN table
     ON condition
WHERE condition
GROUP BY clause
HAVING condition

なぜ人々はこのアプローチに固執するのだろうか?明らかに、これは長い間確立された慣習ですが、大文字を必要とするRDBMSに出会ったことはありません。

個人的には、キーワードが小文字で正確に記述されているのは、クエリの間違った部分に注意を喚起するキーワードを見つけるためです。

それでも、十分な人がこの慣習を使用しているので、何かが足りないと思うので、この質問をします。


3
IDEでキーワードテキストを別の色にした場合でも、キーワードを目立たせることができます。
マフィンマン

3
言語内の言語を持って対処する唯一の方法は、にあるSHOUT... SQLインタプリタでコマンド
ベン・デモット

私の質問も。+1
サイードネアマティ

理解できるSQLキーワードの大文字化。私が見るほとんどのテーブル宣言とクエリは、すべてを大文字にし、テーブル名とカラムを含めています。
MPelletier

回答:


22

クエリウィンドウにある他の文字とは対照的に、大文字にすることでそれらを際立たせます。

それが膨大な時間の浪費なので、私がこれをしない理由。次の2つのいずれかを実行できます。

1)シフトキーを押しながら単語を入力します。エラーが発生しやすく、無計画です。

2)単語の長さの間、Caps Lockをオンにします。少し時間がかかりすぎます。

私はSQL Serverを使用しており、環境(SSMS)には優れた構文の強調表示があるので、キーワードの大文字使用が以前のように(もしあったとしても)流行しているとは個人的には思いません。

ただし、書籍やオンラインチュートリアルでは良い習慣であるため、予約キーワードが何であるかは明らかです。それは、それらの書かれていないものの1つにすぎません。


20
@daveですが、アプリケーションコードとは異なり、SQLスクリプトは構文の強調表示なしでエディターで表示される可能性が非常に高くなります。
アーロンノート

8
@dave:SQLスクリプトは完全に自己完結型であり、ほぼ常に電子メールで送信されたり、テキストエリアに入力されたり、監査人向けに印刷されたり、SQL * Plusなどのコマンドラインユーティリティに入力されます。これは環境に関するものではなく、その環境外でのSQLスクリプトの存続期間に関するものです。コンパイラ/ IDE以外では実際には使用されないため、アプリケーションのソースコードにはあまり関係ありません。
アーロンノート

6
SQLステートメントは、ログファイル、エラーメッセージ、XMLドキュメントに埋め込まれた、構文の強調表示がオプションではないあらゆる種類の場所に頻繁に表示されます。したがって、読みやすくするフォーマットは常に歓迎されます。
ジェームズアンダーソン

8
-1シフトを押したままにするか、Caps Lockを押すのが多すぎる場合、他の問題があると思います。そして、保存した.25秒は実際に何に影響しますか?
TheLQ

2
あなたの質問に対する私の答えは別の質問です。あなたは毎日SQLコードを書いていますか?そして、.25秒にSQL開発者/ dbaが書き込むコードの量を掛けます

8

この種の大文字は、クエリのさまざまな部分を視覚的に分割するための迅速かつ簡単な方法を提供します。これを適切なインデントと組み合わせると、ロジックを読みやすく理解しやすくなります。

標準がどのように生まれたかに関係があるかどうかはわかりません。しかし、それは私の個人的な経験です。


7

昔のことですが、コードを書いたときにキーワードはどのようにも強調表示されていなかったので、クエリのSQL部分とデータベースオブジェクト部分を区別できるようにするための試みでした。名前が長くなる傾向があり、大文字を使用するのが面倒になり、一部のオブジェクト命名規則はケース固有でした。

個人的には、大文字で表記されていなくても読むのは簡単ですが、多くの人はそのように読むことに慣れているので、大文字で表記しないと読み飛ばされます。


4
私は最近、実際に人々にさらされてきた慣例を逆に、オブジェクト名を大文字と小文字のキーワードを残します。控えめに言っても、耳障りです。
アーロンノート

6

SQLは句指向の言語であり、私が経験した何よりもはるかに優れています。SELECT句、FROM句、JOIN句とWHERE句があります。ORDER BY、GROUP BYなど。

これらのキーワードを大文字にすると、個別の句を視覚的に分離するのに役立ちます。これは、HTMLコメントでSQLを出力し、コンソールにコピーアンドペーストするような複雑なデバッグ状況の1つで特に便利です。厄介ですが、私たちはすべてそこにいました。文の各部分がどこから始まるのかを知るのに役立つと便利です。


2

個人的には、キーワードが小文字で正確に記述されているのは、クエリの間違った部分に注意を喚起するキーワードを見つけるためです。

指摘されているように、古いIDEでは、テキストを区別するための大文字小文字以外に多くのオプションがありませんでした。あなたが指摘しているように、キーワードを目立たせることは、それがあるべき場所からあなたの注意を引きます。問題は、キーワードは常に大文字にすることができることを知っているのに対して、他のものは大文字と小文字を区別するリテラルと識別子を含むことができるということです。これにより、キーワードを大文字にするだけで抵抗を最小限に抑えることができます。


-1

私の場合、構文の強調表示とは別に、キーワードを大文字にすることを好みます。適切なSQLエディタがなく、メモ帳またはワードパッドでスクリプトを記述/編集するか、開く必要があると想像してください。これらのエディターには構文の強調表示はありません。

上記と同じ理由で、SQL Serverの構文の強調表示にはあまり注意を払いませんが、便利です(すべてのコードを黒で表示するのは退屈です)。キーワードを変数、定数、名前などと区別するために、常に大文字を使用しています。


...これはコメントされている必要がありますが、1を掲示するの評判を持っていない
アダム・ズッカーマン

これについては、元の質問で説明しました。キーワードに大文字を使用すると、クエリまたはステートメントの最も重要でない部分に読者の注意を引くことができます。
ベヴァン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.