SQLにおける大文字・小文字の区別

この記事ではSQLにおける大文字・小文字の区別について解説します。

 SQLで大文字と小文字は区別されるのか

SQL文を調べていると、大文字と小文字が混在した形で書かれていることが多いと思います。

この使い分けには何か意味があるのか考える人もいるかと思います。

実際には大文字・小文字の使い分けには特にルールはありません。

予約語、キーワード、識別子、パラメータは大文字・小文字の区別なく記述することができます。

ただし、テキスト・リテラル(シングルクォーテーションで囲われた文字列)は大文字・小文字が区別されるので注意が必要です。


 一般的な使い分け

大文字・小文字の区別にルールはありませんが、一般的には使い分けされて記述されていることが多いです。

一般的には予約語、キーワードは大文字で記載されることが多いです。

SELECT、FROM、ANDなどのあらかじめ定義されているSQLのキーワードがこれにあたります。

また、これらを大文字で書くように統一することによって、キャッシュヒット率が上がりSQLの高速化につながるメリットもあります。

反対にテーブル名、カラム名は小文字で記載されることが多いです。

テーブル名、カラム名は小文字、その他は大文字と覚えておくとわかりやすいです。


 SQL文の例

oracleのドキュメントでは上記のルールでSQLが記載されています。

SELECT last_name,salary*12,MONTHS_BETWEEN(SYSDATE,hire_date) 
  FROM employees
  WHERE department_id = 30
  ORDER BY last_name;