by the dreamland

夢の国の近くで暮らすエンジニア(おもにインフラ系)のブログ

SQLの文法、書式など

SELECT 'ABC' →文字定数の'ABC'と解釈される
SELECT ABC →ABCは、表名や列名と解釈される

NULL値を含む算術式の結果は必ずNULLになる

数値定数は、多くのRDBMSでは「'」で囲みませんが、MySQLでは独自仕様として囲むことが可能です。
例)SELECT 123 →数値定数の123
SELECT '123' →一般的なRDBMSでは文字として扱われる。MySQLでは数値としても扱える

 

例)SELECT "FROM " FROM →多くのRDBMSでは「"」で囲むことで、RDBMSに最初の「FROM」は、列などの名前であることを知らせる
SELECT `FROM` FROM →ANSI以外のMySQLでは、「`」(バッククォーテション)で囲む

また、「-」(ハイフォン)を表名や列名に使う場合、「"」で囲まないと、SQLでは減算と解釈されます。このように、「"」で囲むことで、記号なども名前に使用することができます。

例)SELECT ABC-DEF →列ABCと列DEFの減算と解釈される
  SELECT "ABC-DEF" →列「ABC-DEF」と解釈される
  SELECT `ABC-DEF' →ANSI以外のMySQLでは、「"」でなく「`」(バッククォーテション)を使用

 

 ------------------------------------

 Oracle SQL Bronze試験対策第二章問題より