본문으로 건너뛰기
실습하기

WHERE 절의 서브쿼리

서브쿼리는 주로 WHERE 절 안에서 많이 사용됩니다.

다른 쿼리의 결과를 기준으로 결과를 필터링할 수 있게 해줍니다.


왜 유용할까요

WHERE 안의 서브쿼리는 다음에 도움이 됩니다.

  • 동적인 값과 일치시키기(예: 상위 사용자, 가장 인기 있는 강좌 등)
  • 하드코딩 없이 필터링
  • Join을 줄여 더 간결한 로직 작성

이렇게 생각하세요. “다른 결과에 등장하는 사용자만 보여줘.”


예시: 두 개 이상 강좌를 선택한 사용자

다음 쿼리는 두 개 이상 강좌를 선택한 사용자를 반환합니다.

WHERE 절의 서브쿼리
SELECT name
FROM users
WHERE user_id IN (
SELECT user_id
FROM user_courses
GROUP BY user_id
HAVING COUNT(*) > 1
);

결과:

name
Sofia
Aisha
Liam

이 사용자는 두 개 이상 강좌를 선택했습니다.


  • 서브쿼리는 항상 ()로 감싸세요
  • IN 또는 비교 연산자(=, >, 등)를 사용하세요
  • 대용량 데이터셋에서는 성능 이슈에 유의하세요

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!