WHERE 절의 서브쿼리
서브쿼리는 WHERE
절에서 자주 사용되며, 다른 쿼리의 결과를 기준으로 현재 쿼리의 결과를 동적으로 필터링할 수 있습니다.
서브쿼리의 장점
WHERE
절에 서브쿼리를 사용하면 다음과 같은 이점이 있습니다.
- 다른 쿼리 결과를 기반으로 동적으로 값 필터링
- 조건을 하드코딩하지 않아도 됨
- 복잡한 Join을 줄이고 간결한 쿼리 작성 가능
예시: 두 개 이상 강좌를 선택한 사용자
아래 쿼리는 user_courses
테이블에서 두 개 이상의 강좌를 선택한 사용자를 찾아 users
테이블에서 이름을 반환합니다.
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 |
이 쿼리는 서브쿼리에서 두 개 이상의 강좌를 수강한 사용자 ID를 먼저 찾고, 그 결과를 이용해 users
테이블에서 해당 사용자의 이름을 가져옵니다.
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!