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 테이블 구조
실행 결과