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

서브쿼리란?

서브쿼리다른 쿼리 안에 작성되는 SQL 쿼리입니다.

한 쿼리의 결과를 다른 쿼리의 입력으로 사용할 수 있어, SQL 로직을 더 똑똑하고 유연하게 만들어 줍니다.

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


서브쿼리를 쓰는 이유

다음과 같은 상황에서 서브쿼리를 사용할 수 있습니다.

  • 동적인 결과에 기반해 필터링하거나 비교하고 싶을 때
  • 동일한 절차나 임시 테이블 사용을 피하고 싶을 때
  • WHERE, FROM, SELECT 절 안의 로직을 단순화하고 싶을 때

팁: 서브쿼리는 항상 괄호로 감싸세요.


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

이 예제에서는 두 개의 테이블을 사용합니다.

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

파이썬 강좌를 선택한 사용자를 찾기 위해 다음과 같이 서브쿼리를 사용할 수 있습니다.

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

WHERE 절의 서브쿼리는 사용자 테이블에서 파이썬 강좌를 선택한 사용자만 걸러 줍니다.


결과:

name
Sofia
Ethan
Liam

다음 내용이 궁금하다면?

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