Skip to content

Commit bbd55b0

Browse files
authored
Merge pull request #338 from GeoSegun/lateral-subquery
[SQL-242] Lateral Join vs. Subquery
2 parents 9a2332b + 822e8fb commit bbd55b0

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
SELECT
2+
f.id,
3+
f.name,
4+
t.course_id,
5+
t.semester,
6+
t.year
7+
FROM
8+
Faculty f
9+
LEFT JOIN LATERAL (
10+
SELECT
11+
te.course_id,
12+
te.semester,
13+
te.year
14+
FROM
15+
Teaching te
16+
WHERE
17+
te.faculty_id = f.id
18+
ORDER BY
19+
te.year DESC,
20+
CASE te.semester
21+
WHEN 'FALL' THEN 3
22+
WHEN 'SUMMER' THEN 2
23+
WHEN 'SPRING' THEN 1
24+
ELSE 0
25+
END DESC
26+
LIMIT 1
27+
) t ON true;
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
SELECT
2+
f.id,
3+
f.name,
4+
(
5+
SELECT te.course_id
6+
FROM Teaching te
7+
WHERE te.faculty_id = f.id
8+
ORDER BY te.year DESC,
9+
CASE te.semester
10+
WHEN 'FALL' THEN 3
11+
WHEN 'SUMMER' THEN 2
12+
WHEN 'SPRING' THEN 1
13+
ELSE 0
14+
END DESC
15+
LIMIT 1
16+
) AS latest_course_id
17+
FROM Faculty f;

0 commit comments

Comments
 (0)