【Snowflake】Snowflake ~ SELECT ... EXCLUDE ~

■ はじめに

小ネタ。
最近小ネタばっかだが、、、

Snowflake の SELECT ... EXCLUDE が何気に便利だったので
メモしておく。

目次

【1】SELECT ... EXCLUDE
【2】利点
【3】利用例
 1)CREATE TABLE SELECT で利用

【1】SELECT ... EXCLUDE

* EXCLUDEで指定した項目を除外してくれる

https://docs.snowflake.com/ja/sql-reference/sql/select#syntax

-- 一項目のみ除外したい場合
SELECT * EXCLUDE item1 FROM demo_table;

-- 複数除外したい場合
SELECT * EXCLUDE (item1, item2) FROM demo_table;

【2】利点

以下の関連記事で記載しているが、
項目を減らす=(多少の)メモリ削減できるので、
パフォーマンスも(多少)はあがる

Snowflakeのパフォーマンス改善 ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/09/20/002235

* ただ個人的な見解としては、
 システムに組み込むものとしてはどーなんだろーってなんとなく思うが
 開発や運用として知っておくと便利だなーっと思った。

【3】利用例

1)CREATE TABLE SELECT で利用

* 開発中でテーブル変更があり、かつ、
 前Versionのテーブルからテーブルをもってくる必要する時に便利だった
 => 項目数が物凄い多いテーブルだったので、この機能は本当に助かった

サンプル

CREATE TABLE clone_new_table AS
SELECT
  *,
  EXCLUDE (item1, item2)
FROM
  source_table;

関連記事

Snowflake ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/11/02/130111
Snowflake ~ 入門編 / Hello world
https://dk521123.hatenablog.com/entry/2021/11/22/212520
Snowflake ~ 基本編 / テーブル ~
https://dk521123.hatenablog.com/entry/2022/09/03/012113
Snowflakeのパフォーマンス改善 ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/09/20/002235