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 강의를 등록해 주세요!