-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMySQL_CTE's.sql
More file actions
47 lines (42 loc) · 924 Bytes
/
MySQL_CTE's.sql
File metadata and controls
47 lines (42 loc) · 924 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
-- CTE --
-- AVG SALARY --
WITH CTE_01 AS
(
SELECT gender, AVG(salary) AVG_Sal, MAX(salary) Max_salary, MIN(salary) Min_salary, COUNT(salary) Total_Salary
FROM employee_demographics DEM
JOIN employee_salary SAL
ON DEM.employee_id = SAL.employee_id
GROUP BY gender
)
SELECT AVG(AVG_Sal)
FROM CTE_01
;
-- MULTIPLE CTE --
WITH CTE_01 AS
(
SELECT employee_id, gender, birth_date
FROM employee_demographics
WHERE birth_date > '1985-01-01'
),
CTE_02 AS
(
SELECT employee_id, salary
FROM employee_salary
WHERE salary > 50000
)
SELECT *
FROM CTE_01
JOIN CTE_02
ON CTE_01.employee_id = CTE_02.employee_id
;
WITH CTE_01 (Gender, Avg_Sal, Max_Salary, Min_Salary, Total_Salary) AS
(
SELECT gender, AVG(Salary) Avg_Sal, MAX(Salary) Max_salary, MIN(Salary) Min_Salary, COUNT(Salary) Total_Salary
FROM employee_demographics DEM
JOIN employee_salary SAL
ON DEM.employee_id = SAL.employee_id
GROUP BY gender
)
SELECT *
FROM CTE_01
;