T-SQL Tutorials - TSQLTutorials.com

WITH - Common Table Expressions


The WITH Common Table Expression (CTE) is used for creating temporary named result sets. The functionality was introduced in SQL Server 2005. This T-SQL Expression begins with the keyword WITH. The results from the WITH expression are stored in a temporary named result set that can be queried. Using the WITH expression, allows for the simplification of query logic, by allowing the separation of logic into separate steps. The WITH expression has a few basic parts:

  • WITH [name of temporary resultset] (columns in result set)
  • AS ( SQL Query Definition )
following the 'WITH' keyword is the name of the temporary result set being created and the names of the columns in the result set. Parentheses are placed around the column names.

following the 'AS' keyword will be the SQL Query (surrounded by parentheses). The number of columns selected in the query must match the number of columns listed in the Table Expression Definition (the columns listed after name of resultset).

Beginning Example

This example will use the following table: SELECT Name, Position, Salary
FROM Employees
Here is the resultset from the above SELECT query:

Joe GrapeManager80000
John PlumSoftware Developer65000
Frank AppleSoftware Developer62000
Patty PineappleSoftware Developer60000
Judy PeachSoftware Developer50000
Jane OrangeProject Manager75000

Using the WITH expression we can create a temporary named result set. In this example we will limit the result set to only the Software Developers from the above Employees table. WITH Developers (Name,Salary)
SELECT Name, Salary FROM Employees WHERE Position = 'Software Developer'

SELECT * FROM Developers
Here is the resultset from the above SELECT query from the 'Developers' result set:

John Plum65000
Frank Apple62000
Patty Pineapple60000
Judy Peach50000

SQL Server 2014 Standard w/ 10CAL Edition, Media & License | 32 bit & 64 bit

Price: $299.99
Buy It Now
Brand New - Microsoft SQL Server 2012 Standard Edition SP3 and 10 CAL License

Price: $400
Buy It Now
SQL Server 2014 Standard Edition, 16 Core Processor License | unlimited USER CAL

Price: $599.99
Buy It Now
MSFT SQL Server 2008 R2 Standard Edition 32/x64 | 25CAL, Media, License

Price: $299.99
Buy It Now
MSFT SQL Server 2012 Standard Edition, 32bit & 64bit, Media & License w/10CAL

Price: $399.99
Buy It Now
Lenovo Microsoft SQL Server 2016 CAL (1 User)

Price: $199.99
Buy It Now

Copyright 2017 - TSQLTutorials.com