How to Write a Common Table Expression in Snowflake

Common table expressions (CTEs) are a great way to break up complex queries. Snowflake also supports this functionality. Here's a simple query to illustrate how to write a CTE:

with free_users as (
  select *
  from users
  where plan = 'free'
select user_sessions.*
from user_sessions
inner join free_users on = user_sessions.user_id
order by;

You can find more complex examples of using CTE's in How to Avoid Gaps in Data in Snowflake and in Calculating Cumulative Sums in Snowflake.

Better SQL for the people
Get more done with PopSQL and Snowflake