SQL

Development

【Snowflake】テーブル定義変更(列削除)

Snowflakeの既存テーブルの列削除(定義変更)が必要になり、SQL文に分からなくなったら最近はChatGPTやCopilotに聞いています。 以下のSQLが出てきたのですが、エラーになりました。 ALTER TABLE your_ta...
Development

【Snowflake】便利な関数10選

Snowflakeを使っていて便利だと思った関数を10個挙げてみます。 ARRAY_AGG 複数の行を配列に集約する。 SQL例 SELECT ARRAY_AGG(column_name) AS aggregated_array FROM ...
Development

【Snowflake】UUIDを生成するUUID_STRING関数

複数テーブルにまたがってユニークなIDを生成したい場面があると思います。 そのような時には、UUIDを使用するのが便利です。 UUIDとは UUID(ユニバーサルユニーク識別子)は、標準化された128ビットの識別子であり、世界中のほぼ全ての...
Python

【Python】SnowflakeへSQLを発行しSELECT結果をデータフレームに取得する方法

SnowflakeにSQLを発行して、結果をデータフレームに取得し、ついでにCSVファイルに出力してみます。 ライブラリをインストールしておきます。 pip install snowflake-connector-python pandas...
ChatGPT

【SQL】LAG関数で1つ前の行の値を取得(履歴テーブル作成で利用)

SnowflakeのSQLで履歴テーブルを作成したのですが、LAG関数とその関連の関数が便利だったため、使い方について記載します。 SQLによる履歴テーブル作成 以下のようなテーブルAをもとに、IDごとの名称の履歴テーブル(FROM~TO形...
ChatGPT

【ChatGPT】SQL初心者向け研修メニューを作成してもらった

310 インターネット上に情報が多く存在するIT関係の質問には、ChatGPTが比較的正確に回答してくれるように思います。SQLを初学者に教える場面が多いため、SQLの研修メニューを作成してもらいました。 はじめに SQL(Structur...
Python

【Python】AthenaへSQLを発行しSELECT結果をデータフレームに取得する方法

AWSのAthenaでは、S3内のデータをPrestoベースのSQLを使用して参照できます。 フラットファイルにクエリで検索をかけられます。 私も業務でAthenaを使用していますが、PythonからAthenaへSQLを発行したいケースは...