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