【解説】PCAクラウドWeb-APIのためのWeb技術の基礎 SQL初級編

更新日:2026/07/28

先の記事では基幹業務ソフトウェアで最も採用されているリレーショナルデータベース(RDB)を解説しSQLの紹介をしました。当記事では、SQLの初級編として最も利用頻度の高いSELECTを主に解説します。

CIG商品マスターの例

SQLとは

SQLは、構造化照会言語(Structured Query Language)と呼ばれ、RDBを操作する命令となります。SQL命令文の役割に応じて3つに大別されます。

  • データ操作言語(DML)
  • データ定義言語(DDL)
  • データ制御言語(DCL)

この中で、1.がデータ操作に関わる命令文で主に以下のデータ操作の命令文があります。

  1. SELECT文:表(テーブル)、列(カラム)からデータを検索・取得する命令文です。
  2. INSERT文:表(テーブル)へ行(ロウ)を追加する命令文です。
  3. UPDATE文:表(テーブル)の列(カラム)のデータを更新する命令文です。
  4. DELETE文:表(テーブル)の行(ロウ)を削除する命令文です。

SELECT文

SELECT文にも様々な句を付けることが出来ますが、先ずは最も基本的なSELECT文について説明します。

CIG単純なSELECT文

表リスト

検索の対象となる表(テーブル)名を指定します。複数の表の場合は、各表名を ,(カンマ)で区切る。例:表名1, 表名2

参照列リスト

検索の対象となる表の列(カラム)名を指定します。複数の場合は、各列名を ,(カンマ)で区切る。

表リストの複数の表で同じ列名が存在する場合は、どの表のどの列かを示すために、列名の前に「表名.」を付けて指定します。

例:表名1.列名1, 表名2.列名2, 表名1.列名3  

また、表リストの全ての列という意味で、*(アスタリスク)を指定することもできます。列名を把握していない時などは非常に便利です。

解説

これが最も基本的なSELECT文です。表リストで指定した表から、列リストで指定した列のデータを取得します。検索条件を指定していないため、表に存在するすべての行(全件)が検索結果として返されます。

WHERE句

最も基本的なSELECT文では、表に存在するすべての行(全件)が検索結果となります。 必要なデータだけを取得したい場合は、検索条件を指定する「WHERE句」を使用します。

WHERE句の主な用途は次の2つです。

  • 検索条件の指定
  • 複数の表を結合する条件の指定

検索条件を指定するWHERE句

例:WHERE 列名1 = 1、WHERE 列名2 <> 'A'、WHERE 列名3 <=  '2026-07-01'、WHERE 列名4 <= 列名5

指定する列に対し比較演算子を使って条件式を指定します。各条件式に論理演算子(AND、OR、NOT)を付与することもできます。  

比較演算子には、=(等式)、<>(不等式)、<(小なり)、>(大なり)、<=(以下)、>=(以上)が使用できます。 

複数の表を結合する条件を指定するWHERE句

例:WHERE 表名1.列名1 = 表名2.列名2

表リストに複数の表を指定する場合は、表同士をどのように結び付けるかを指定する必要があります。

ORDER BY句

ORDER BY句は、検索したデータを指定の列を基準として並び替えるための条件指定です。

列名の指定だけでなく、加えて昇順(小さい順 ASC)または降順(大きい順 DESC)も指定することができます。

例:列名1 ASC, 列名2 DESC, 列名3

ORDER BY句を指定しない場合の検索結果の並び順は、不定となります。

SQL初級編まとめ

今まで述べてきた句を列挙すると、下図のようになります。

CIG初級SELECT文

 

SQL初級編では、SELECT文の構造を理解しやすいよう、基本的な内容に絞って説明しました。

例えば、表の結合にはWHERE句ではなくJOIN句を使用する方法などもあります。

 

SQL中級編以降では、より高度なSELECT文について解説する予定です。

高度なSELECT文の前に、最後に補足的な説明をいたします。

  • 参照列リストなどでは、列と列を、+(プラス、加算)、-(マイナス、減算)、*(アスタリスク、乗算)、/(スラッシュ、除算)の算術演算子で結ぶことができます。例:本体金額 + 消費税額  (SELECT文の結果は、このままの列名となります)
  • 列名や表名などに、「列名1 AS 別名」のように別名を命名することができます。上記の算術演算子を使用した場合に名付ける際など便利です。例:本体金額 + 消費税額  AS 税込金額
  • SELECT、FROM、WHERE、ORDER BY、ASなどは、SQLのキーワード(予約語)とされ、別名等では使用できません。
  • SQLでは大文字・小文字を区別しません。当関連記事では、SQL予約語は大文字で記すこととします。
  • 当関連記事では、理解いだき易いよう列名、表名などは日本語表記としますが、実際の基幹業務DBでは英字を使用します。