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