학습 자료

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 테이블에서 해당 사용자의 이름을 가져옵니다.

Quiz
0 / 1

SQL 문장의 WHERE 절에서 서브쿼리를 사용하는 주요 장점은 무엇인가요?

쿼리 실행 속도를 높이기 위해서.

SQL 인젝션 공격을 방지하기 위해서.

다른 쿼리의 결과를 기반으로 결과를 필터링하기 위해서.

테이블 Join의 필요성을 없애기 위해서.

학습 자료

AI 튜터

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

DB 테이블 구조

실행 결과