How to Write a Common Table Expression in SQL Server
Common table expressions (CTEs) are a great way to break up complex queries. SQL Server has supported this from the early beginning, starting with the 2005 version. 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 free_users.id = user_sessions.user_id
order by free_users.id;
You can find more complex examples of using CTE's in How to Avoid Gaps in Data in SQL Server and in Calculating Cumulative Sums in SQL Server.
From SQL Server query to chart to Slack in seconds
Get to answers faster, together, with PopSQL and SQL Server