학습 자료

서브쿼리란?

서브쿼리는 다른 쿼리 안에 포함된 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
Quiz
0 / 1

서브쿼리(Subquery)란 무엇인가요?

서브쿼리는 다른 쿼리 작성된 SQL 쿼리입니다.
위에
내부에
아래에
옆에

학습 자료

AI 튜터

도움말

코드 에디터

코드 실행
코드 생성

DB 테이블 구조

실행 결과