with문을 사용하면 테이블을 커스터 마이징하여 사용할 수 있다
WITH counter AS (
SELECT h.hacker_id, h.name, count(*) AS challenges_created
FROM Hackers h
INNER JOIN Challenges C ON h.hacker_id = C.hacker_id
GROUP BY h.hacker_id, h.name
)
SELECT hacker_id, name, challenges_created
FROM counter
with counter 를 통해 counter 라는 임시 테이블을 만들어주었다.
이를 활용하여 반복되는 서브쿼리를 획기적으로 줄일 수 있다.