SQLの構文の書き方
私はMYSQL(2年以上)とBIGQUERY(1年)書いてきました。
書き方の宗教などは特にございませんが、可読性や処理速度を気にして書くことが大事だと思います。
基礎構文
SELECT
カラム名1,
カラム名2,
FROM
テーブル名を指定
sample_table
例えばこんなテーブルがあったとして
id | name |
---|---|
1 | AA |
2 | BB |
3 | CC |
4 | DD |
基本のSQL
SELECT
sample_table.id
FROM
sample_table
実行結果
id |
---|
1 |
2 |
3 |
4 |
実際のテーブル名の指定の仕方は`project名.dataset名.テーブル名`
(BigQueryだと多分こんな感じ)のように絶対パスで指定した方が事故が起きない
WHERE句
除外したい条件をWHERE句で書くことができます。
SELECT
sample_table.id
FROM
sample_table
WHERE
sample_table.name = 'BB'
実行結果
id |
---|
2 |
GROUP BY
GROUP BY句は集計するために使います
id | name | salary |
---|---|---|
1 | AA | 200000 |
2 | BB | 150000 |
3 | CC | 130000 |
4 | DD | 120000 |
平均算出SQL
SELECT
AVG(sample_table.salary) AS average_salary
FROM
sample_table
GROUP BY
sample_table.salary
実行結果
average_salary |
---|
150000 |
AVG以外にもたくさん集計関数はあります。(SUMとか)
Bigqueryは公式のリファレンスが親切なので一読することをお勧めします。
GROUP BY句は何列目かの数字でも指定できますが可読性が失われるのできちんと名前で指定してあげた方がいいかと思います。