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

서브쿼리란?

서브쿼리는 다른 쿼리 안에 포함된 SQL 쿼리를 의미합니다.

하나의 쿼리 결과를 다른 쿼리의 입력으로 사용할 수 있어, SQL을 더 유연하게 작성할 수 있습니다.

서브쿼리는 중첩 쿼리 또는 내부 쿼리라고도 부릅니다.


서브쿼리를 사용하는 이유

다음과 같은 상황에서 서브쿼리가 유용합니다.

  • 다른 쿼리 결과를 기반으로 동적으로 필터링할 때
  • 임시 테이블이나 별도의 쿼리 절차 없이 문제를 해결하고 싶을 때
  • WHERE, FROM, SELECT 절의 로직을 단순화하고 싶을 때

팁: 서브쿼리는 항상 괄호 ()로 감싸야 합니다.


예시: 파이썬 강좌를 선택한 사용자 찾기

다음 두 개의 테이블이 있다고 가정합니다.

  • users : 사용자 ID와 이름 저장
  • user_courses : 각 사용자가 선택한 강좌 기록

파이썬 강좌를 선택한 사용자를 찾는 서브쿼리 예시는 다음과 같습니다.

파이썬 강좌를 선택한 사용자를 찾는 서브쿼리
SELECT name
FROM users
WHERE user_id IN (
SELECT user_id
FROM user_courses
WHERE course = 'Python'
);

WHERE 절의 서브쿼리가 먼저 실행되어 파이썬 강좌를 선택한 사용자 ID를 찾고, 그 ID를 기준으로 users 테이블에서 해당 사용자 이름을 가져옵니다.


결과

name
Sofia
Ethan
Liam

다음 내용이 궁금하다면?

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