SQL入門:データ分析で役立つ基本構文とクエリの実例

1. はじめに:SQLとは?

**SQL(Structured Query Language)**は、データベースを操作するための標準言語です。データの取得、挿入、更新、削除などができ、特にWeb広告やマーケティングにおいて、ユーザー行動のデータ分析で頻繁に使われます。この記事では、基本的なSQL構文とその使い方を実例とともに解説します。


2. SQLの基本構文と実例

2.1 SELECT:データの取得

SELECTは、データベースから特定のデータを取得するための構文です。

構文

SELECT 列名1, 列名2 
FROM テーブル名
WHERE 条件;

例:売上データから特定商品のレコードを取得

SELECT 商品名, 売上金額 
FROM 売上データ
WHERE 商品名 = 'コーヒー';

結果:商品名が「コーヒー」の売上金額を取得。


2.2 INSERT:データの挿入

INSERTは、データベースのテーブルに新しいデータを挿入するための構文です。

構文

INSERT INTO テーブル名 (列名1, 列名2, ...) 
VALUES (値1, 値2, ...);

例:新しい商品データの挿入

INSERT INTO 商品データ (商品ID, 商品名, 価格) 
VALUES (101, '紅茶', 500);

結果:新商品「紅茶」が商品データテーブルに追加されます。


2.3 UPDATE:データの更新

UPDATEは、既存のデータを更新するために使用されます。

構文

UPDATE テーブル名 
SET 列名 = 新しい値
WHERE 条件;

例:商品の価格を更新

UPDATE 商品データ 
SET 価格 = 550
WHERE 商品名 = '紅茶';

結果:商品「紅茶」の価格が550円に変更されます。


2.4 DELETE:データの削除

DELETEは、テーブルから特定のデータを削除するために使用されます。

構文

DELETE FROM テーブル名 
WHERE 条件;

例:商品データの削除

DELETE FROM 商品データ 
WHERE 商品ID = 101;

結果:商品IDが101の「紅茶」のデータが削除されます。


2.5 WHERE:条件指定

WHERE句を使うことで、特定の条件に合致するデータだけを取得・操作することができます。

例:一定金額以上の売上データを取得

SELECT 商品名, 売上金額 
FROM 売上データ
WHERE 売上金額 >= 1000;

結果:売上金額が1,000円以上の商品のデータを取得。


2.6 ORDER BY:データの並び替え

ORDER BY句を使うことで、取得したデータを昇順や降順に並び替えることができます。

構文

SELECT 列名1, 列名2 
FROM テーブル名
ORDER BY 列名1 ASC;

例:売上金額の降順にデータを取得

SELECT 商品名, 売上金額 
FROM 売上データ
ORDER BY 売上金額 DESC;

結果:売上金額の高い順に商品が表示されます。


2.7 GROUP BY:データの集計

GROUP BY句を使って、特定の列でグループ化して集計することができます。

例:商品ごとの売上を集計

SELECT 商品名, SUM(売上金額) AS 合計売上 
FROM 売上データ
GROUP BY 商品名;

結果:商品ごとの売上の合計を取得。


2.8 JOIN:テーブルの結合

JOINを使うことで、複数のテーブルを結合してデータを取得することができます。

構文(INNER JOIN)

SELECT テーブル1.列名, テーブル2.列名 
FROM テーブル1
INNER JOIN テーブル2
ON テーブル1.共通列 = テーブル2.共通列;

例:商品データと売上データを結合

SELECT 商品データ.商品名, 売上データ.売上金額 
FROM 商品データ
INNER JOIN 売上データ
ON 商品データ.商品ID = 売上データ.商品ID;

結果:商品名と売上金額を結合して取得。


2.9 サブクエリ:入れ子のクエリ

サブクエリは、クエリの中にさらにクエリを入れることで、複雑な条件に対応できます。

例:最も売上の高い商品の取得

SELECT 商品名, 売上金額 
FROM 売上データ
WHERE 売上金額 = (
SELECT MAX(売上金額)
FROM 売上データ
);

結果:売上が最も高い商品のデータを取得。


3. SQLを使ったデータ分析の応用

3.1 広告キャンペーンのパフォーマンス分析

SELECT 広告名, SUM(クリック数) AS 総クリック数, AVG(CPA) AS 平均CPA 
FROM 広告データ
GROUP BY 広告名
ORDER BY 平均CPA ASC;

結果:広告ごとのクリック数の合計と平均CPAを表示し、低コストの広告から順に並べます。


3.2 ユーザー行動データの分析

SELECT ユーザーID, COUNT(*) AS アクション数 
FROM ユーザー行動
WHERE アクション = '購入'
GROUP BY ユーザーID
HAVING COUNT(*) > 1;

結果:複数回購入したユーザーのIDとその購入回数を表示。


4. SQLを学ぶためのポイント

  1. 小さなクエリから始める:シンプルなSELECTから徐々にJOINGROUP BYに挑戦しましょう。
  2. 実データで練習する:Web広告やマーケティングデータを使って、実践的な分析を行うと効果的です。
  3. 定期的な復習と応用:SQLは使いながら身につけることが大切なので、日常的にクエリを組む練習をしましょう。

5. まとめ

SQLは、データ分析広告運用に不可欠なスキルです。基本構文のSELECTJOINGROUP BYを使いこなすことで、複雑なデータを整理し、価値のあるインサイトを得ることができます。まずはこの記事のクエリを実際に試し、徐々に応用力を高めていきましょう。

上部へスクロール