with cte as (select id, sales from table1) select * from cte;WITH cte_sales_amounts (staff, sales, year) AS ( SELECT first_name + ' ' + last_name, SUM(quantity * list_price * (1 - discount)), YEAR(order_date) FROM sales.orders o INNER JOIN sales.order_items i ON i.order_id = o.order_id INNER JOIN sales.staffs s ON s.staff_id = o.staff_id GROUP BY first_name + ' ' + last_name, year(order_date) ) SELECT staff, sales FROM cte_sales_amounts WHERE year = 2018;WITH expression_name[(column_name [,...])] AS (CTE_definition) SQL_statement; Code language: SQL (Structured Query Language) (sql)/* CTE: Common Table Expressions It is a temporary named result set that you can reference within a SELECT, INSERT, UPDATE, or DELETE statement. */ WITH odd_num_cte (id, n) AS ( SELECT 1, 1 UNION ALL SELECT id+1, n+2 from odd_num_cte where id < 5 ) SELECT * FROM odd_num_cte;