서브쿼리란?
서브쿼리
는 다른 쿼리 안에 포함된 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 강의를 등록해 주세요!