効果的なデータ分析を行うには、まず巨大なデータベースから必要なデータを取得する必要があり、これには SQL データ検索のスキルが必要です。
SQLの使用プロセス
SQL は構造化クエリ言語として、リレーショナル データベースの追加、削除、変更、クエリを行うことができます。データ アナリストにとって、最も一般的に使用されるクエリ操作は、計算または視覚化のためにデータベースから適格なデータを抽出することです。では、SQL データをフェッチする基本的なプロセスは何でしょうか?
-
まず、取得する対象のテーブルとフィールド、計算するインデックスを決定します。これには、ビジネス要件を明確に理解し、どのテーブルからどのフィールドを取得するか、何を計算するかを把握する必要があります。
-
次に、SQL クエリ ステートメントを作成し、select、from、where、group by、having、order by 句を使用し、フィールド名、テーブル名、条件、グループ化、クエリ対象の並べ替えを指定し、SQL 構文をマスターし、さまざまな関数を柔軟に使用します。
-
次に、SQL クエリ ステートメントを実行してデータベースからデータを取得し、データの精度と整合性を厳密にチェックしてください。データベースに正しく接続し、クエリ文を実行し、データの欠落、異常、誤りなどがないか確認してください。
-
最後に、クエリ結果を他のツールまたはプラットフォームにエクスポートして、次の処理または表示ステップの準備をします。シナリオが異なれば、Excel、Power BI、Tableau などの異なるツールが必要になります。
SQL 固有のコードの内容
SQL コードの記述方法は特定のビジネス要件によって決まりますが、一般的には次の部分に分かれています。
-
テーブル ステートメントの作成: データベースまたはテーブルを作成し、テーブル名、フィールド名、フィールド タイプ、主キー、インデックス、その他の属性を指定します。
-
Insert ステートメント: テーブルにデータを挿入し、挿入するテーブル名とフィールド値を指定します。
-
クエリ ステートメント: テーブルからデータをクエリし、クエリ対象のフィールド名、テーブル名、条件、並べ替え、グループ化などを指定します。
-
Update ステートメント: テーブル内のデータを変更し、テーブル名、フィールド名、条件、および変更する新しい値を指定します。
-
削除ステートメント: テーブル内のデータを削除し、テーブル名と削除する条件を指定します。
さまざまな部分の SQL の簡単な例を次に示します。
-- 建表语句
create table products (
prod_id int primary key, -- 产品编号
prod_name varchar(50) not null, -- 产品名称
prod_price decimal(10,2) check (prod_price > 0), -- 产品价格
prod_category varchar(20) -- 产品类别
);
-- 插入语句
insert into products values (1, 'iPhone 14', 6999.00, '手机');
insert into products values (2, 'iPad Pro', 4999.00, '平板');
insert into products values (3, 'MacBook Air', 7999.00, '笔记本');
-- 查询语句
select * from products; -- 查询所有产品信息
select prod_name, prod_price from products where prod_category = '手机'; -- 查询手机类别的产品名称和价格
select prod_category, avg(prod_price) as avg_price from products group by prod_category; -- 查询每个类别的产品平均价格
-- 更新语句
update products set prod_price = prod_price * 0.9 where prod_id = 1; -- 将产品编号为1的产品价格打九折
-- 删除语句
delete from products where prod_price < 5000; -- 删除价格低于5000的产品
SQLコードの例
もう 1 つの簡単な例を見てみましょう。製品テーブルから製品名、価格、カテゴリなどの情報を取得し、各カテゴリの製品の平均価格を計算するとします。
まず、フェッチするターゲット テーブルとフィールドを次のように決定します。
-
対象テーブル:製品
-
対象フィールド: prod_name (製品名)、prod_price (製品価格)、prod_category (製品カテゴリ)
-
ターゲット指標: prod_category_avg_price (カテゴリごとの製品の平均価格)
次に、SQL クエリ ステートメントを次のように記述します。
-- 查询语句
select prod_name, prod_price, prod_category, avg(prod_price) over (partition by prod_category) as prod_category_avg_price
from products;
の、
-
select 句では、クエリ対象のフィールド名を指定します。
-
from 句では、クエリ対象のテーブル名を指定します。
-
avg 関数は平均値を計算するために使用されます。
-
over 句は、ウィンドウ関数のパーティションとソート方法を指定するために使用されます。
-
Partition by 句は、製品カテゴリごとにグループ化するために使用されます。
-
as 句は、計算フィールドに別名を与えるために使用されます。
次に、SQL クエリを実行してデータベース内のデータを取得し、データが正しく完全であることを確認します。次のクエリ結果が得られたとします。
製品名 | 製品価格 | 製品カテゴリ | prod_category_avg_price |
---|---|---|---|
iPhone14 | 6999.00 | 携帯電話 | 6999.00 |
iPad Pro | 4999.00 | フラット | 4999.00 |
MacBook Air | 7999.00 | ノート | 7999.00 |
クエリ結果には必要なフィールドとインジケーターが含まれており、データに欠落や異常がないことがわかり、データは正しく完全であると考えられます。
最後に、さらなる処理のためにクエリ結果を Excel にエクスポートします。クエリ結果は、さまざまなニーズやシナリオに合わせて並べ替え、フィルター処理、分析、またはグラフ化できます。