A common table expression, also known as a CTE, is a temporary named result set in SQL that can be used within a SELECT, INSERT, UPDATE, or DELETE statement. It is defined using the WITH keyword, and can be thought of as a temporary view or inline table-valued function. One of the primary advantages of using a common table expression …

Common Table Expressions Read more »

Transcription of Video: Let’s take a look at another recursive CTE. That’s not looking at tables, but it’s just looking at math. And here, we could create a recursive function that’s called sum of parts, and select from the sum of parts. Basically, we’re creating a function that selects from itself. And what it does is it says give me …

Looking at Math with Recursive CTE’s Read more »

Transcription of Video: One of the things I like play with is performance and pushing things to their limits. So what I want to do next is see how far can we push this sum of parts? Can we do the sum of parts for 40,000? With the option of Max recursion equaling 40,000? No, we cannot do that because …

Recursive CTE Examples Read more »

Transcription of Video: So here’s an example of building a recursive common table expression, I’m gonna start out with the with statement, we’re gonna call it department CTE. And we’re going to label the columns that we’re going to return department ID, the department, the parent, and those are all things we’ve seen before earlier in the presentation. And then …

Steve Explains how to build a Recursive CTE Read more »

Transcription of Video: Now on to recursive common table expressions. This is my favorite part. And this is where it gets really fun is working with recursive CTE’s. Because with recursive CTE, we’re doing things that are really difficult to do any other way with SQL Server. So, a CTE is considered recursive when the CTE references itself. It’s interesting, …

Steve’s Introduction to Recursive Common Table Expressions Read more »

Transcription of Video: Every recursive CTE needs an anchor query. And what an anchor query is, is it defines the start of the recursion. This is the part that cannot reference the CTE itself, it has to start with some base starting point. So if you’re doing a hierarchy of departments, well, you’re starting the recursion may be giving me …

Recursive CTE Terminology Read more »

Transcription of Video: Now on to CTE’s in stored procedures, functions and views. When I first started doing this presentation several years ago, people would ask, “oh, can the CTE be used in a function or can be used in a view”? And the answer to that is yes. And as we saw above, we actually already put the CTE …

CTE’s in Stored Procedures, Functions and Views Read more »

Transcription of Video: Here’s an example of a CTE that’s been created for data paging, where the select statement inside of the CTE that shown in blue is just grabbing some table names and column names from the SIS dot columns table. And there’s a lot of them in there. And then what it’s doing is it’s calculating the row …

Steve Demonstrates Data Paging with CTE’s Read more »

Video transcription: Basically, what data Paging is, is when you’ve got a large large result set and what you want to do is display like the top 20, or top 50 results. So if you go to any search engine and do a searching on some topic, you you’ll see that you’ll get like the top 20 results out of …

Steve explains data paging with CTE’s Read more »

If you have multiple CTE’s in a query then you can do what’s called a nested CTE. This is what Steve will go over in this video. Transcription of Video: So next, if you’ve got multiple CTE’s, we can do what are considered nested CTE’s, where the previous multiples we looked at, it was just two CTE’s that were being …

Nested CTE’s in SQL Server Read more »