SQL構文

概要:このチュートリアルでは、SQLステートメントの詳細を理解するのに役立つSQL構文を紹介します。

SQLは宣言型言語であるため、その構文は自然言語のように読めます。SQLステートメントは、SELECTINSERTUPDATEDELETEなど、アクションを記述する動詞で始まります。動詞の後には、主語と述語が続きます。

述語は、真、偽、または不明として評価できる条件を指定します。

次のSQLステートメントを参照してください。

SELECT 
    first_name
FROM
    employees
WHERE
    YEAR(hire_date) = 2000;Code language: SQL (Structured Query Language) (sql)

ご覧のとおり、通常の文のように読めます。

2000年に雇用された従業員の氏名を取得します。

SELECT first_nameFROM employees、およびWHEREは、SQLステートメントの句です。SELECT句とFROM句など、一部の句は必須ですが、WHERE句など、他の句はオプションです。

SQL Syntax

SQLは、特に技術者以外の人々を念頭に置いて設計されたため、非常にシンプルで理解しやすいです。SQLステートメントを作成するには、PHP、Java、C ++などの他の命令型言語のように、どのようにしたいかではなく、何をしたいかを伝えるだけです。

SQLは、主にアドホッククエリを実行してレポートを生成するユーザー向けの言語であるため、ユーザーフレンドリーな言語です。

今日では、SQLはデータアナリスト、データサイエンティスト、開発者、データベース管理者などの高度な技術者によって使用されています。

SQLコマンド

SQLは多くのコマンドで構成されています。各SQLコマンドは通常、セミコロン(;)で終了します。たとえば、セミコロン(;)で区切られた2つの異なるSQLコマンドを次に示します。

SELECT 
    first_name, last_name
FROM
    employees;

DELETE FROM employees 
WHERE
    hire_date < '1990-01-01';Code language: SQL (Structured Query Language) (sql)

SQLは、セミコロン(;)を使用してコマンドの終わりを示します。

各コマンドは、リテラル、キーワード、識別子、または式であるトークンで構成されます。トークンは、スペース、タブ、または改行で区切られます。

リテラル

リテラルは、定数とも呼ばれる明示的な値です。SQLは、文字列、数値、およびバイナリの3種類のリテラルを提供します。

文字列リテラルは、単一引用符で囲まれた1つ以上の英数字で構成されます。次に例を示します。

'John'
'1990-01-01'
'50'Code language: SQL (Structured Query Language) (sql)

50は数字です。ただし、単一引用符(例:'50')で囲むと、SQLはそれを文字列リテラルとして扱います。

通常、SQLは文字列リテラルに関して*大文字と小文字を区別*するため、値'John''JOHN'と同じではありません。

数値リテラルは、整数、10進数、または科学表記法です。次に例を示します。

200
-5
6.0221415E23Code language: SQL (Structured Query Language) (sql)

SQLは、表記x'0000'を使用してバイナリ値を表します。ここで、各桁は16進値です。次に例を示します。

x'01'
x'0f0ff'
Code language: SQL (Structured Query Language) (sql)

キーワード

SQLには、SELECTINSERTUPDATEDELETEDROPなど、特別な意味を持つ多くのキーワードがあります。これらのキーワードは予約語であるため、テーブル、列、インデックス、ビュー、ストアドプロシージャ、トリガー、またはその他のデータベースオブジェクトの名前として使用することはできません。

識別子

識別子は、テーブル、列、インデックスなど、データベース内の特定のオブジェクトを参照します。SQLは、キーワードと識別子に関して大文字と小文字を区別しません。

次のステートメントは同等です。

Select  * From employees;

SELECT * FROM EMPLOYEES;

select * from employees;

SELECT * FROM employees;Code language: SQL (Structured Query Language) (sql)

SQLコマンドを読みやすく明確にするために、チュートリアル全体でSQLキーワードは大文字で、識別子は小文字で使用します。

コメント

SQLステートメントを文書化するには、SQLコメントを使用します。コメント付きのSQLステートメントを解析する場合、データベースエンジンはコメント内の文字を無視します。

コメントは、残りの行をコメントできる2つの連続したハイフン(--)で表されます。次の例を参照してください。

SELECT 
    employee_id, salary
FROM
    employees
WHERE
    salary < 3000;-- employees with low salaryCode language: SQL (Structured Query Language) (sql)

これはSQLコメントです。

-- employees with low salaryCode language: SQL (Structured Query Language) (sql)

複数行にまたがるコードを文書化するには、次のステートメントに示すように、複数行のCスタイルの表記(/**/)を使用します。

/* increase 5% for employees whose salary is less than 3,000 */
UPDATE employees 
SET 
    salary = salary * 1.05
WHERE
    salary < 3000;Code language: SQL (Structured Query Language) (sql)

このチュートリアルでは、SQLステートメントの各コンポーネントを理解するのに役立つSQL構文を紹介しました。

SQL言語をより効果的に学習するには、練習するための適切なサンプルデータベースが必要です。次のチュートリアルでは、簡単なSQLデータベースを紹介します。

このチュートリアルは役に立ちましたか?