Google Data Analyst 4W

データアナリストが使うツールに関する学習。

スプレッドシートは割愛。

SQL

SQL(Structured Query Language)、つまり構造化された問い合わせ言語は大規模データを扱う際にとても便利。

SQLにはいくつかの種類がある。一般的なものにはOracle、Microsoft、MySQLなど色々ある。国際規格として統一されているので、基本的には似た形式で扱うことが可能。

なぜスプレッドシートで足りない?

数千、数万行やそれ以上の大規模なデータを取り扱うのはスプレッドシートでは限界がある。SQLは高速動作することが求められているため、スピーディにデータを取得することができる。

3つの基本構文

SELECT

欲しい列を指定

FROM

求めるデータを含むテーブルを指定

WHERE

データをフィルタ

基本構文を使った例(BigQuery)は…

SELECT
    CatFirstName
FROM
    CatData.CatName
WHERE
    CatFirstName  = 'Mike'

CatFirstName列を求める。この列はCatDataデータセットのCatNameテーブルにある。CatFirstNameが「Mike」だけを求める。

これだとMikeというデータだけが返ってくるので、実際は他の列データも合わせて求める。WHEREでフィルタを複数指定することももちろん可能。

SELECT -- コメントは-を2つ繋げた後に記述する
    CatId,
    CatFirstName,
    CatLastName
FROM -- SQLステート文は大文字
    CatData.CatName
WHERE
    CatId > 0
    AND CatFirstName  = 'Mike'-- 合致するもの。合致しないものは <>で指定
    AND CatLastName = 'Tama' -- 末尾にセミコロンをつけると明示的に終了を意味する

少し使える形になった。複数列はカンマでつなぎ、フィルタ条件はカンマなしのANDなど条件を使ってつないでいく。

新しい言語を覚えるのは、言葉を覚えるのと同じ。

SQL構文

LIKE句とワイルドカード

WHERE
    CatFirstName LIKE 'Mi%' -- LIKE はパターンを探す時に使う。%はワイルドカード(*の場合もある)
-- この場合、Mikeも返るし、Mikenekoも返る

エイリアス

CatFirstName AS FirstName -- エイリアスを作成

SELECT
    FirstName 

エイリアスを作れば元データを改変せずにコードの見通しがよくなる。

このサイトの主
投稿を作成しました 115

関連投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る