0% found this document useful (0 votes)
71 views11 pages

Subqueries & CTE

The document explains subqueries and Common Table Expressions (CTEs) in SQL, detailing their definitions, types, and examples. Subqueries can be single-row, multi-row, or correlated, while CTEs improve query readability, reusability, and performance. It also includes practical examples and notes on experimenting with these SQL features.

Uploaded by

rohitsul1112003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
71 views11 pages

Subqueries & CTE

The document explains subqueries and Common Table Expressions (CTEs) in SQL, detailing their definitions, types, and examples. Subqueries can be single-row, multi-row, or correlated, while CTEs improve query readability, reusability, and performance. It also includes practical examples and notes on experimenting with these SQL features.

Uploaded by

rohitsul1112003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

🎯 Master Like a Pro:

SUBQUERIES
&
COMMON TABLE
EXPRESSIONS

SUBHRA DAS Swipe >


[email protected]
1. SUBQUERIES :
A Query Within a Query
What is it ?

A subquery is a query nested inside


another SQL query. It helps retrieve
intermediate results before applying
further operations.

Types of Subqueries:

✅ Single-row Subquery →
Returns one row
✅ Multi-row Subquery →
Returns multiple rows
✅ Correlated Subquery →
Depends on the outer query
📌 Single-row Subquery :
Example-
Find employees earning more than the
average salary

💡 The inner query calculates the average


salary, and the outer query filters employees
who earn more than that amount.

PERCENTILE_CONT(0.5): This is a continuous percentile


function that calculates the median value (50th percentile).
📌 Multi-row Subquery :
Example -
Find employees working in specific
departments :

💡 The subquery (SELECT DepartmentID FROM

fetches
Departments WHERE Location = 'NY')
department IDs in NY, and the main query
selects employees from those departments.
📌 Correlated Subquery :
Example -
Find the highest-paid employee in each
department :

💡 The subquery runs for each department,


checking the maximum salary dynamically.
The condition E1.DepartmentID = E2.DepartmentID makes
sure that MAX(Salary) is found within each department, not
across the whole company.
2. CTEs (Common
Table Expressions):
(a temporary named query inside a query.)
What is it ?
A Common Table Expression (CTE) is a
temporary table created within a query.

It improves:
✅ Readability – Makes complex queries
more structured
✅ Reusability – Allows the same logic to
be used multiple times
✅ Performance – Optimizes query
execution in some cases.

Syntax :
📌 Simple CTE :
Example-
Calculating total bonus payout per
department :

💡 The CTE calculates department-wise


bonuses first, making the final query simpler.
📌 Recursive CTE:
Example-
Extracting a company’s reporting hierarchy :

How it Works?
1️⃣Base Case: Finds the top-level manager
(ManagerID = NULL).
2️⃣
Recursive Case: Finds employees who
report to the manager.
3️⃣
Repeats until no more employees are left.
Example Data for Better Understanding :

How the Query Works on This Data :


🔹 First Iteration (Base Case)
Finds John (EmployeeID = 1), because he has no
ManagerID.
🔹 Second Iteration (Recursive Case)
Finds Alice (2) and Bob (3), because their
ManagerID = 1.
🔹 Third Iteration (Recursive Case)
Finds David (4) and Emma (5), because their
ManagerID = 2.
🔹 No More Employees Left → The recursion
stops.
notes :
🔹 Experiment with subqueries in
WHERE, SELECT, and FROM

🔹 Use CTEs to simplify long,


unreadable queries

🔹 Try a recursive CTE to analyze


hierarchical data structures
Find this
useful?

Let’s Connected

SUBHRA DAS
[email protected]

You might also like