見出し画像

SQLが苦手だった私が解説する、SQLの基本

想定する読者

データ分析に興味があり、基本的なSQLの知識を持つが、複数のテーブルやカラムを組み合わせた集計方法について学びたいと考えているビジネスアナリスト、データサイエンティスト、データエンジニアなど。

TLDR(Too long, don't read)

この記事では、データ分析の基本とSQLを用いた複数のテーブルやカラムを組み合わせた集計方法について解説します。
具体的なテーブルとカラムの例を用いて、SQLクエリの作成方法を学びます。
これにより、読者はビジネスの意思決定をデータに基づいて行う能力を強化できます。

1.データ分析とは

データ分析とは、大量のデータから有用な情報を見つけ出し、それを基に意思決定を行うプロセスです。ビジネスの世界では、データ分析は市場のトレンドを理解し、顧客の行動を予測し、製品のパフォーマンスを評価するために広く使用されています。

2.データベースとテーブルの概念

データベースは関連するデータの集合で、テーブルという形式でデータを整理します。テーブルは行(レコード)と列(カラム)で構成され、それぞれのカラムは特定のデータタイプ(例えば、数値、テキスト、日付など)を持つことができます。

3.テーブルとカラムの例

例えば、オンラインストアのデータベースを考えてみましょう。以下のようなテーブルが存在するかもしれません。

  • Customers テーブル: CustomerID, Name, Email, Country などのカラムがある。

  • Orders テーブル: OrderID, CustomerID, ProductID, OrderDate, Quantity などのカラムがある。

  • Products テーブル: ProductID, ProductName, Price などのカラムがある。

例えば、以下のようなCustomers, Orders, Productsテーブルがあるとします。

(コード)

**Customers**

| CustomerID | Name | Email | Country |
| --- | --- | --- | --- |
| 1 | John Doe | mailto:john.doe@example.com | USA |
| 2 | Jane Smith | mailto:jane.smith@example.com | UK |
**Orders**

| OrderID | CustomerID | ProductID | OrderDate | Quantity |
| --- | --- | --- | --- | --- |
| 1 | 1 | 1 | 2023-01-01 | 2 |
| 2 | 1 | 2 | 2023-01-02 | 1 |
| 3 | 2 | 1 | 2023-01-03 | 3 |
**Products**

| ProductID | ProductName | Price |
| --- | --- | --- |
| 1 | Apple | 1.00 |
| 2 | Banana | 0.50 |

(画像)

4. SQLとは

SQL(Structured Query Language)は、データベースから情報を取得、挿入、更新、削除するための言語です。SQLは非常に強力で、複雑なクエリを作成してデータを集計することが可能です。

5. SQLを使った集計の例

例えば、上記の**Orders**テーブルから、各商品の合計販売数量を集計するSQLは以下のようになります。

(SQL)

SELECT ProductID, SUM(Quantity) as TotalQuantity
FROM Orders
GROUP BY ProductID;

(出力)

6. 複数のテーブル、カラムを組み合わせた集計の例

上記の**Customers**, Orders, **Products**テーブルを組み合わせて、各顧客が購入した商品の合計金額を集計するSQLは以下のようになります。

(SQL)

SELECT c.CustomerID, c.Name, SUM(o.Quantity * p.Price) as TotalSpent
FROM Customers c
JOIN Orders o ON c.CustomerID = o.CustomerID
JOIN Products p ON o.ProductID = p.ProductID
GROUP BY c.CustomerID, c.Name;

(出力)

このクエリは、各顧客(**Customersテーブル)が注文した商品(Ordersテーブル)の価格(Productsテーブル)を合計しています。JOIN文は、テーブル間の関連性を定義します。この場合、CustomerIDProductIDを使ってCustomersテーブルとOrdersテーブル、OrdersテーブルとProducts**テーブルを結合しています。

7. まとめ

データ分析は、大量のデータから有用な情報を見つけ出し、それを基に意思決定を行う重要なプロセスです。SQLはこのプロセスを支える強力なツールであり、複数のテーブルやカラムを組み合わせてデータを集計することが可能です。これらのスキルを習得することで、ビジネスの意思決定をデータに基づいて行うことができます。

(ちなみに画像はMidjourneyで作成しました。)

A conceptual image of a SQL database.
--ar 16:9 --v 5.1 --style raw --q 2 --s 750


この記事が気に入ったらサポートをしてみませんか?