서브쿼리란?
서브쿼리
는 다른 쿼리 안에 포함된 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 테이블 구조
실행 결과