
SQL을 어느 정도 쓰다 보면 자연스럽게 부딪히는 개념이 바로 서브쿼리(Subquery)와 CTE(Common Table Expressions)다. 둘 다 쿼리 안에 또 다른 쿼리를 포함하는 방식인데, 언제 서브쿼리를 쓰고 언제 CTE를 써야 하는지 헷갈리는 경우가 많다. 이 글에서 둘의 차이, 장단점, 그리고 실무에서 어떻게 활용하는지를 정리해본다.서브쿼리란?서브쿼리는 다른 쿼리 안에 중첩되어 있는 SELECT 문이다. 일반적으로 WHERE, FROM, SELECT 절 내부에 사용된다.예시 (SELECT 절 내부):SELECT name, (SELECT COUNT(*) FROM orders WHERE orders.user_id = users.id) AS order_countFROM users;..