EasyCTEs & Recursive
Basic CTE: average salary with department names
The query
SQL
WITH dept_avg AS (
SELECT
dept_id,
ROUND(AVG(salary), 2) AS avg_salary
FROM employees
GROUP BY dept_id
)
SELECT
d.dept_name,
da.avg_salary
FROM dept_avg da
JOIN departments d ON da.dept_id = d.dept_id
ORDER BY da.avg_salary DESC;Note
“CTEs (WITH clause) make complex queries readable. Same as subquery but defined upfront.