関数、並べ替え、グループ化

Snowflake SQL 入門

George Boorman

Senior Curriculum Manager, DataCamp

関数を見つける - INITCAP

  • 構文: INITCAP( <expr> )

  • 各単語を大文字で始める文字列

SELECT INITCAP(category) AS capitalized_category 
FROM pizza_type

大文字で始まるピザ名の結果

Snowflake SQL 入門

文字列関数 - CONCAT

  • 共通テーブル式(CTE)

  • 構文:

CONCAT( <expr1> [ , <exprN> ... ] )

連結前:

連結前のカテゴリ列

  • categoryと「 - Pizza」{{4}}を組み合わせる
    SELECT CONCAT(category, ' - Pizza') 
      AS pizza_category 
    FROM pizza_type
    

Concat後:

連結前のカテゴリ列

Snowflake SQL 入門

DATE と TIME の関数

  • CURRENT_DATE()CURRENT_DATE
  • CURRENT_TIME()CURRENT_TIME
SELECT CURRENT_DATE
SELECT CURRENT_TIME

現在の日付の結果

現在時刻の結果

Snowflake SQL 入門

EXTRACT

の構文

  • EXTRACT( <date_or_time_part> FROM <date_or_time_expr> )
    • <date_or_time_part> - yearmonthdayweekday など。
SELECT EXTRACT(MONTH FROM order_date) AS order_month,
    COUNT(*) AS num_orders
FROM orders
GROUP BY order_month

月ごとの注文数

Snowflake SQL 入門

並べ替えとGROUPING

  • 並べ替え: ORDER BY
  • GROUPING: GROUP BY
    • Snowflake: GROUP BY ALL
Snowflake SQL 入門

GROUP BY ALL

  • GROUP BY column1, column2
SELECT 
    pizza_type_id,
    size,
    AVG(price) AS average_price
FROM 
    pizzas
GROUP BY
    pizza_type_id, -- explicit columns
    size
ORDER BY 
    pizza_type_id, average_price DESC

  • GROUP BY ALL
SELECT 
    pizza_type_id,
    size,
    AVG(price) AS average_price
FROM 
    pizzas
GROUP BY ALL -- Don't specify columns 
ORDER BY 
    pizza_type_id, average_price DESC
Snowflake SQL 入門

概要

機能/キーワード 用途
INITCAP() 文字列内の各単語を大文字にする
CONCAT() 複数の文字列を結合
CURRENT_DATE 現在の日付を取得
CURRENT_TIME 現在時刻を取得
EXTRACT 日付から日付/時刻要素を抽出する、例:month
ORDER BY クエリ結果を並べ替え
GROUP BY ALL すべての(集計されていない)列でクエリをグループ化
Snowflake SQL 入門

練習しましょう!

Snowflake SQL 入門

Preparing Video For Download...