こんにちは。わだと申します。
「スッキリわかるSQL入門」(インプレス発行)を一通り読んでSQLを勉強していましたが、実際にBigQueryを勉強してみると違いが多く、戸惑う場面がありました。
なお、「スッキリわかるSQL入門」はRDBを前提とした書籍のため、BigQueryのようなDWH特有の機能が載っていないのは当然ではありますが、本記事ではその違いに戸惑ったポイントを中心にまとめています。
また、勉強で使用した書籍は「スッキリわかるSQL入門」と「BigQueryではじめるSQLデータ分析 GA4 & Search Console & Googleフォーム対応」(インプレス発行)です。
〇PIVOT関数
PIVOT関数は、行方向に並んだデータ(縦持ち)を、列方向に展開するための関数です。
集計結果をレポート形式で見たいときに便利だと感じました。
〇UNPIVOT関数
UNPIVOT関数は、PIVOTとは逆に、列として並んだデータを行方向に戻すための関数です。
再集計や条件処理を行いたい場合に、縦持ちに戻せる点が便利です。
〇INSTR関数
文字列の中で特定の文字列の位置を整数で返し、オプションで検索位置と出現回数を指定できます。
〇STRPOS関数
文字列の中から指定した文字列が最初に現れる位置を返します。
INSTR関数と比べると指定できる条件は少ないですが、その分シンプルに使える関数だと感じました。
〇REGEXP_CONTAINS関数、REGEXP_EXTRACT関数、REGEXP_REPLACE関数
REGEXP系の関数は、正規表現を使って文字列を判定・抽出・置換するための関数です。
REGEXP_CONTAINS関数は正規表現に合致する場合、trueを返します。
REGEXP_EXTRACT関数は正規表現に合致する場合、該当する文字列を返します。
REGEXP_REPLACE関数は正規表現に合致する場合、任意の文字列に置き換えます。
SQLの言語でもツールが違えば書き方が違うので、そこを見つけながら勉強を進めるのは楽しいと感じております。
データラーニングギルドとは?
データラーニングギルド は、株式会社データラーニングが運営する、
データサイエンスを中心とした学習者・現役データサイエンティスト・エンジニアのためのコミュニティです。
学びの共有・キャリア形成・横のつながりを大切にし、
勉強会、LT会、技術相談、キャリア支援、案件紹介など、
「データ領域で挑戦したい人を応援する活動」を幅広く行っています。
初心者から実務者まで、誰もが成長できる場づくりを目指しています。