PR

【SQL】基本的な記述ルール5つを1分で解説

Database

SQL文を記述する際の基本的なルール5つを初心者向けにわかりやすく解説します。

参考 SQLとは?

SQL自体は決して難しくはない言語です。ですが、初心者にとってはなかなかエラーなくSQL文を書くことも簡単ではないのではないでしょうか。

このページでは、頭に入れておきたいSQLの基本的な構文ルールを簡単に解説しておきたいと思います。

SQL基本ルール
  • SQLの文末は「;」セミコロン
  • キーワードの大文字・小文字は区別されない
  • 単語は半角スペースか改行で区切る
  • 定数は「'」で囲む
  • 1行コメントは「--」:複数行コメントは「/* */」

プログラマーやシステムエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識です。是非最後までご覧ください。

スポンサーリンク

ルール1:SQLの文末は「;」セミコロン

SQL基本ルール
  • SQLの文末は「;」セミコロン
  • キーワードの大文字・小文字は区別されない
  • 単語は半角スペースか改行で区切る
  • 定数は「'」で囲む
  • 1行コメントは「--」:複数行コメントは「/* */」

SQL文は「;」セミコロンで終えるのが必須のルールです。

SELECT Name FROM MemberList;

参考 SELECT文

よくある初歩的なミスとして「;」セミコロンを忘れるのがSQL初心者の罠。一つひとつのSQL文は必ず「;」で終わりを示すのがルールです。

特定のツールやDBMSでは必須ではない場合もあるため、具体的な使用状況に応じて適切な手法を選択することが必要です。

ルール2:キーワードの大文字・小文字は区別されない

SQL基本ルール
  • SQLの文末は「;」セミコロン
  • キーワードの大文字・小文字は区別されない
  • 単語は半角スペースか改行で区切る
  • 定数は「'」で囲む
  • 1行コメントは「--」:複数行コメントは「/* */」

SQLのキーワード(SELECTなど)は大文字・小文字の区別はされません。

したがって、以下どちらの記述で書いても結果は同じです。

SELECT Name FROM MemberList;
select Name from MemberList;

以下の点に注意が必要

  1. データベースオブジェクトの名前:一部のデータベース管理システム(DBMS)では、テーブル名、カラム名、その他のオブジェクト名に対して大文字・小文字が区別される場合がある。例えば、PostgreSQLではデフォルトで大文字・小文字が区別される。
  2. 慣習と可読性:SQLキーワードを大文字で書くのは、多くの開発者や組織の慣習となっているので基本的にはこれに従うこと。→キーワードを大文字で書くことで、実際のテーブル名やカラム名などのオブジェクト名との視覚的な区別が容易になる(テーブルやカラム名は小文字が一般的)。
  3. DBMSの特性:使用しているDBMSのドキュメントやガイドラインを参照することで、そのDBMSが大文字・小文字の区別をどのように扱っているのかを正確に知ることができるので、詳しくはそちらを参照すること。

ルール3:単語は半角スペースか改行で区切る

SQL基本ルール
  • SQLの文末は「;」セミコロン
  • キーワードの大文字・小文字は区別されない
  • 単語は半角スペースか改行で区切る
  • 定数は「'」で囲む
  • 1行コメントは「--」:複数行コメントは「/* */」

SQLのキーワードやテーブル名、カラム名などの単語は必ず「半角スペース」か「改行」で区切ります。

SELECT Name FROM MemberList;
SELECT
Name
FROM
MemberList;

半角スペースか改行で区切らないとエラーとなります。例えば以下はNGです。

SELECTName FROM MemberList;
-- SELECT と Name の間にスペースが存在しないため構文エラー

また、これもよくある落とし穴ですが「全角スペースで区切るのもNG」です。

SELECT Name FROM MemberList;
--SELECT と Name の間が全角スペースなのでNG

たまに、このミスを犯してドツボにはまる人もいるので、基本の「き」としてしっかり頭に入れておきましょう!

以下の点に注意が必要

  1. 複数のスペース:1つ以上の連続する半角スペースは、1つのスペースとして解釈される。→したがって、SQL文内において複数のスペースを挟んでも問題はない。
  2. 可読性:コードの可読性を向上させるために、適切なインデントや改行を使用することが推奨される。→他の開発者や将来の自分がそのSQL文を読みやすくなる。
  3. DBMSの特性:一部のDBMSやツールには、特定の書式要件や制約がある場合がある。

ルール4:定数は「'」で囲む

SQL基本ルール
  • SQLの文末は「;」セミコロン
  • キーワードの大文字・小文字は区別されない
  • 単語は半角スペースか改行で区切る
  • 定数は「'」で囲む
  • 1行コメントは「--」:複数行コメントは「/* */」

SQL文では、抽出条件を指定する場面などで「定数」を記述することができます。「定数」を記述する場合は、それが定数であることを明示するために「'」シングルコーテーションで囲みます。

CREATE TABLE MemberList (
Number INT,
Name VARCHAR(50),
Address VARCHAR(150),
----------------------------
PhoneNumber VARCHAR(13) DEFAULT '090-1234-5678'
----------------------------
);

--'090-1234-5678' は定数

参考 CREATE TABLE文

ただし、数字の定数の場合は「'」シングルコーテーションで囲む必要はありません。以下ではNumberカラムのデフォルト値として 100 を指定するSQL文の例です。

CREATE TABLE MemberList (
----------------------------
Number INT DEFAULT 100,
----------------------------
Name VARCHAR(50),
Address VARCHAR(150),
PhoneNumber VARCHAR(13) DEFAULT '090-1234-5678'
);

ルール5:1行コメントは「--」:複数行コメントは「/* */」

SQL基本ルール
  • SQLの文末は「;」セミコロン
  • キーワードの大文字・小文字は区別されない
  • 単語は半角スペースか改行で区切る
  • 定数は「'」で囲む
  • 1行コメントは「--」:複数行コメントは「/* */」

SQLでは文中にコメントを記述することができます。

複雑なSQL文の説明を記載しておいたりするような使い方が一般的です。

-- これは1行のコメントです
SELECT * FROM tablename;
/*
これは複数行の
コメントです
*/
SELECT * FROM tablename;

コメントはSQL実行時に一切考慮されない行なので、基本的には何を書いてもOKです。日本語で書いてもアルファベットで書いてもSQL自体の処理内容には一切影響がありません。

SELECT Name FROM MemberList;
-- MemberListからName列のレコードを取得

SELECT Name
/* このようにSQL文中に無理やりコメントを挟むこともできます。
   ですが、返って可読性を落としてしまうのでオススメできる利用方法ではありません。*/
FROM MemberList;
このページのまとめ
  • SQLの基本的な記述ルールは以下の4つ
    • SQLの文末は「;」セミコロン
    • キーワードの大文字・小文字は区別されない
    • 単語は半角スペースか改行で区切る
    • 定数は「'」で囲む
    • 1行コメントは「--」:複数行コメントは「/* */」

現在のスキルに今一つ満足できていないシステムエンジニア/プログラマーの方へ。

SQLやデータベースの仕組みを1から学習したい方(学び直したい方)向けに、現役エンジニア達のスキルを結集して 完全無料 のSQL教材を作成しました。是非この機会にブックマークを!

読者料典 【完全無料】SQL:初心者向け学習ロードマップ ←こちらから!

このWebサイトは現役のエンジニアが以下3点を目的として運営しています。

  1. 勉強:一度理解した内容を忘れないように。
    → アウトプットは「最強のインプット」である! 
  2. 備忘:忘れたとしても後から見返せるように。
    → 未来の自分への「お手紙」を書いています。 
  3. 共有:〇〇ってこうだったんだ!の感動をシェアできるように。
    → あなたの知識は誰かにとっての「価値ある情報」です。 

副業ブログの始め方はこちらから

スポンサーリンク
DatabaseIT-Skills
シェアする
ビズドットオンラインをフォローする
タイトルとURLをコピーしました