Google データアナリティクス の序盤でSQLについて軽く学んだので、今後本格的に使うことを考えて簡単なメモを作ってみました。中盤で再びSQLを使う予定なので、その際にまた本格的な記事を書こうと思います。
構造化クエリ言語(SQL)について
SQLはデータベースの操作に使うプログラミング言語です。データの保管・整理・分析に特化しているので、他のプログラミング言語より大規模・大量・高速で動作することが可能です。
Excelの最大行・列数は1048576(約100万)、最大データ数は1099511627776(約1兆)なので、それ以上のデータを処理する場合はスプレッドシートではなくデータベースとSQLを用いる必要があります。
SQL構文の基本
SQL クエリの構文は、多くの場合このように記述します。
- SELECT を使用して、求める列を選択する
- FROM を使用して、必要な列が存在するテーブルを選択する
- WHERE を使用して、特定の情報をフィルタする
SQL クエリはプログラミング言語の基本として、大文字とインデントを使用すると読みやすくなります。また、セミコロンをステートメント終了文字として用います。
WHERE 句を使って複数のフィールドを使用する BigQueryは、このように記述します。
SELECT
customer_id,
first_name,
FROM
customer_data.customer_name
WHERE
customer_id>0
AND first_name = "Tony"
AND last_name = "Magnolia";
SQL構文の使い方
WHERE 句でクエリを絞り込むことにより、値が一致するデータ・または特定の条件に一致するデータのみを抽出することができます。例えば姓が Chavez のデータを検索する場合、WHERE 句は次のように書きます。
また、LIKE句で姓が "Ch" で始まるすべてのデータを検索することもできます。
WHERE field1 = 'Chavez'
WHERE field1 LIKE 'Ch%'
SELECT * 句はすべての列を選択する際に用います。
SELECT *などを使うとべらぼうな量のデータが選択されるため、慎重に使いましょう。
SELECT *
FROM table
列名・テーブル名には変数に相当するエイリアスを割り当てることができます。これには、SQL の AS 句を使用します。
field AS last_name -- 列のエイリアス
table AS customers -- テーブルのエイリアス
SELECT *
FROM album
WHERE "album_id" = 277