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

更新日:2026/08/07

前回の記事では、SQLの概要とSQL初級編として、最も利用頻度の高いSELECT文について解説しました。今回は中級編として、SELECT文をより実践的に活用する方法を紹介します。

CIG中級SELECT文

SQL関数、特に集計関数

SELECT文では、参照列リストに指定した列に対してSQL関数を使用できます。

SQL関数には、文字列関数、算術関数、日付関数、型変換関数などがあります。

SQL関数の中にはRDBソフトウェアごとに独自のものもあるため、利用できる関数はRDBソフトウェアによって異なります。詳細については、ご利用のRDBソフトウェアのマニュアルをご確認ください。

一方で、多くのRDBソフトウェアで共通して利用できるSQL関数として、次のような集計関数があります。

集計関数 説明
SUM(列名) 数値列の合計を計算する
AVG(列名) 数値列の平均を計算する
COUNT(列名または*) データの件数をカウントする
MAX(列名) 列の最大値を取得する
MIN(列名) 列の最小値を取得する

FROM句で指定した表のうち、WHERE句で指定した検索条件に一致するすべての行を対象として、集計関数の結果が返されます。

GROUP BY句

特定の列ごとに集計を行うには、集計関数とあわせてGROUP BY句を使用します。

CIG集計文

GROUP BY句で指定した列ごとにデータをグループ化し、それぞれのグループに対して集計を行います。

参照列リストにキー列を指定することは必須ではありませんが、どのグループの集計結果なのかを分かりやすくするため、指定することが一般的です。

ORDER BY句も必須ではありませんが、同様にキー列の値を把握しやすいように指定することが多いです。

 

中級編その他

SQL初級編では取り上げなかったSQLのキーワードについて、いくつか紹介します。

WHERE句の特徴的な演算子(BETWEEN、IN、LIKE、IS NULL)

CIG中級WHERE

BETWEEN

指定した列の値が、指定した範囲内にある行を抽出する演算子です。
「以上」と「以下」の2つの条件を1つの演算子で簡潔に記述できます。

IN

指定した列の値が、複数の値のいずれかに一致する行を抽出する演算子です。
「OR」演算子で複数の条件を指定した場合と同じ意味になります。

LIKE

指定した列の値(文字列)に対して、あいまい検索を行う演算子です。
「%(パーセント)」や「_(アンダースコア)」などのワイルドカードと組み合わせて使用し、特定のパターンに一致するデータを抽出します。

  • %(パーセント):任意の長さの文字列に一致します。
  • _(アンダースコア):任意の1文字に一致します。複数指定することもできます。

また、ワイルドカードを検索したい文字列の前後に付けることで、前方一致・後方一致・部分一致などの検索ができます。

  • 前方一致:特定の文字列で始まるデータを検索します。例:’文字列%’
  • 後方一致:特定の文字列で終わるデータを検索します。例:’%文字列’
  • 部分一致:特定の文字列を含むデータを検索します。例:’%文字列%’

IS NULL、IS NOT NULL

SQLやRDBにおける「NULL」とは、「値が存在しない」「値が不明である」「値を適用できない」といった状態を表す特殊な値です。
NULLは通常の値とは異なるため、「=」や「<>」では比較できません。NULLかどうかを判定する場合は、「IS NULL」または「IS NOT NULL」を使用します。

JOIN句

SQL初級編では、WHERE句を使用して表の結合条件を記述する方法を説明しました。
表の結合条件は、WHERE句ではなくJOIN句を使用して記述することもできます。

CIG中級JOIN

JOIN句を積極的に使用する考え方としては、主に以下のようなケースがあります。

  • WHERE句に記載する検索条件が複雑または多数になる場合(検索条件と表結合の条件を分けることで、SQLの可読性を向上させるため)
  • 単純な内部結合(INNER JOIN)ではなく、外部結合(LEFT JOIN、RIGHT JOIN、FULL OUTER JOINなど)を使用する場合(結合先のデータが存在しない場合でも、元の表のデータを取得したい場合)

その他

まとめの前に、補足的な説明を追加します。

  • DISTINCT句:参照列リストの列名の前に「DISTINCT」を指定することで抽出結果から重複する行を除外することができます。

SQL中級編まとめ

ここまでのSQL中級編の内容で、実用的なSELECT文で使用される機能のおおよそ半分を扱うことができたかと思います。
SELECT文は単純にデータを取得するための命令文ですが、検索条件の指定方法やデータの結合、集計など、目的に応じてさまざまな活用方法があります。
基本的な構文を理解することで、より効率的で柔軟なデータ検索が可能になります。

その他情報はこちら

PCAクラウドWeb-API無償公開サイトへのユーザー登録
まずは、PCAクラウド無償公開サイトのユーザー登録が必要です。 利用規約をご確認のうえ、必要事項入力し、ユーザー登録をお願いします。 ユーザー登録はこちらからどうぞ

PCAクラウドWeb-API無償公開サイトのユーザー登録方法
PCAクラウドWeb-API無償公開サイトへのユーザー登録時のご参考となる記事を用意しました。 ご参照はこちらからどうぞ。