0% found this document useful (0 votes)
17 views33 pages

SnowflakeSQL Intro

The document provides an introduction to Snowflake SQL, detailing its connection methods, common SQL syntax, and data types. It covers data type conversion, string functions, and date/time functions, along with examples of their usage. Additionally, it explains sorting and grouping in queries, highlighting the unique 'GROUP BY ALL' feature in Snowflake SQL.

Uploaded by

sakshamdura
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views33 pages

SnowflakeSQL Intro

The document provides an introduction to Snowflake SQL, detailing its connection methods, common SQL syntax, and data types. It covers data type conversion, string functions, and date/time functions, along with examples of their usage. Additionally, it explains sorting and grouping in queries, highlighting the unique 'GROUP BY ALL' feature in Snowflake SQL.

Uploaded by

sakshamdura
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

Introduction to

Snowflake SQL
INTRODUCTION TO SNOWFLAKE SQL

George Boorman
Senior Curriculum Manager, DataCamp
Connecting to Snowflake
Snowsight: Snowflake Web Interface

INTRODUCTION TO SNOWFLAKE SQL


Worksheets

INTRODUCTION TO SNOWFLAKE SQL


Notebooks

INTRODUCTION TO SNOWFLAKE SQL


Connecting to Snowflake: Drivers

Drivers & Connectors


ODBC (Open Database Connectivity)

JDBC (Java Database Connectivity)

Connectors : Python, Spark, and more

1 https://docs.snowflake.com/en/developer-guide/drivers

INTRODUCTION TO SNOWFLAKE SQL


Connecting to Snowflake: Snowflake CLI
Snowflake CLI

Command-line client
Installed on Linux, Windows, or Mac

1 https://docs.snowflake.com/en/user-guide/snowsql

INTRODUCTION TO SNOWFLAKE SQL


SQL flavors
Snowflake uses Snowflake SQL

Other popular SQL flavors:


PostgreSQL

T-SQL

MySQL

Some differences in data types, functions, and general syntax

INTRODUCTION TO SNOWFLAKE SQL


Common syntax
SELECT

FROM

WHERE

GROUPBY

ORDER BY

AVG() , COUNT() , SUM() (etc)

DISTINCT

HAVING

JOIN *

*Some differences exist, more on this later!

INTRODUCTION TO SNOWFLAKE SQL


Let's practice!
INTRODUCTION TO SNOWFLAKE SQL
Snowflake SQL data
types
INTRODUCTION TO SNOWFLAKE SQL

George Boorman
Senior Curriculum Manager, DataCamp
Common data types
Category Data types
Text/string VARCHAR , CHAR , TEXT

INTRODUCTION TO SNOWFLAKE SQL


Common data types
Category Data types
Text/string VARCHAR , CHAR , TEXT

Numeric INTEGER

INTRODUCTION TO SNOWFLAKE SQL


Common data types
Category Data types
Text/string VARCHAR , CHAR , TEXT

Numeric INTEGER

Boolean BOOLEAN

INTRODUCTION TO SNOWFLAKE SQL


Common data types
Category Data types
Text/string VARCHAR , CHAR , TEXT

Numeric INTEGER

Boolean BOOLEAN

Date/time DATE , TIME , TIMESTAMP

1 https://docs.snowflake.com/en/sql-reference/intro-summary-data-types

INTRODUCTION TO SNOWFLAKE SQL


Snowflake SQL data types - NUMBER
NUMBER(p, s)

NUMERIC works in Snowflake as an alias for NUMBER

p = precision; s = scale

Max p and s values: 38


Exceeding will cause rounding!

INTRODUCTION TO SNOWFLAKE SQL


Snowflake SQL data types - TIMESTAMP_LTZ
TIMESTAMP_LTZ
Combines DATE and TIME with local
time zone

Format: YYYY-MM-DD HH:MI:SS

CREATE TABLE orders (


-- Timestamp with local time zone
order_timestamp TIMESTAMP_LTZ
)

INTRODUCTION TO SNOWFLAKE SQL


Data type conversion - What?
Converting data from one type to another

INTRODUCTION TO SNOWFLAKE SQL


Data type conversion - Why?
Improving performance
Data accuracy and consistency

Data quality

INTRODUCTION TO SNOWFLAKE SQL


Data type conversion - How?
1. CAST Syntax:
CAST( <source_data/column> AS <target_data_type> )

CAST('80' AS INT)

2. :: Syntax:
<source_data/column>::<target_data_type>

'80'::INT

INTRODUCTION TO SNOWFLAKE SQL


CAST
SELECT CAST(order_timestamp AS DATE)
AS order_date
FROM orders

INTRODUCTION TO SNOWFLAKE SQL


CAST results

INTRODUCTION TO SNOWFLAKE SQL


Conversion functions
Examples: TO_VARCHAR , TO_DATE , etc.
TO_VARCHAR

TO_VARCHAR( <expr> )
expr - numeric, timestamp, etc.

Result: VARCHAR

Example:

SELECT TO_VARCHAR(86)

Result:

86

INTRODUCTION TO SNOWFLAKE SQL


Checking data types
DESC TABLE orders

name type kind null? default primary key


ORDER_ID NUMBER(38,0) COLUMN N null Y
ORDER_DATE DATE COLUMN Y null N
ORDER_TIME TIME(9) COLUMN Y null N

INTRODUCTION TO SNOWFLAKE SQL


Let's practice!
INTRODUCTION TO SNOWFLAKE SQL
Functions, sorting,
and grouping
INTRODUCTION TO SNOWFLAKE SQL

George Boorman
Senior Curriculum Manager, DataCamp
String functions - INITCAP
Syntax: INITCAP( <expr> )

Capitalize each word in a string

SELECT INITCAP(category) AS capitalized_category


FROM pizza_type

INTRODUCTION TO SNOWFLAKE SQL


String functions - CONCAT
Combines the expressions Combining category with ' - Pizza'
Syntax: SELECT CONCAT(category, ' - Pizza')
AS pizza_category
CONCAT( <expr1> [ , <exprN> ... ] ) FROM pizza_type

Before Concat:
After Concat:

INTRODUCTION TO SNOWFLAKE SQL


DATE & TIME functions
CURRENT_DATE() or CURRENT_DATE

CURRENT_TIME() or CURRENT_TIME

SELECT CURRENT_DATE

SELECT CURRENT_TIME

INTRODUCTION TO SNOWFLAKE SQL


EXTRACT
Syntax

EXTRACT( <date_or_time_part> FROM <date_or_time_expr> )


<date_or_time_part> - year , month , day , weekday , etc.

SELECT EXTRACT(MONTH FROM order_date) AS order_month,


COUNT(*) AS num_orders
FROM orders
GROUP BY order_month

INTRODUCTION TO SNOWFLAKE SQL


SORTING and GROUPING
SORTING: ORDER BY
GROUPING: GROUP BY
Snowflake: GROUP BY ALL

INTRODUCTION TO SNOWFLAKE SQL


GROUP BY ALL
GROUP BY column1, column2 GROUP BY ALL

SELECT
pizza_type_id,
SELECT
size,
pizza_type_id,
AVG(price) AS average_price
size,
FROM
AVG(price) AS average_price
pizzas
FROM
GROUP BY
pizzas
pizza_type_id, -- explicit columns
GROUP BY ALL -- Don't specify columns
size
ORDER BY
ORDER BY
pizza_type_id, average_price DESC
pizza_type_id, average_price DESC

INTRODUCTION TO SNOWFLAKE SQL


Summary
Function/keyword Use
INITCAP() Capitalize each word in a string

CONCAT() Combine multiple strings

CURRENT_DATE Get the current date

CURRENT_TIME Get the current time

EXTRACT Pull a date/time element, e.g., month from a date

ORDER BY Sort query results

GROUP BY ALL Group query by all (non-aggregated) columns

INTRODUCTION TO SNOWFLAKE SQL


Let's practice!
INTRODUCTION TO SNOWFLAKE SQL

You might also like