SQL 기본문법 > 서브쿼리(SubQuery) - 상관/다중컬럼 서브쿼리
24 Jul 2025 | SQL개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.
상관 서브쿼리
메인쿼리와 서브쿼리 간의 상관관계를 포함하는 형태의 쿼리(Self join과 비슷)
상관쿼리는 메인쿼리를 한 행씩 처리하며, 연관이 있는 컬럼을 기준으로 서브쿼리에서 값을 찾는다. 이는 데이터가 많아질수록 속도가 느려질수 있어 주의해야하지만 직관적으로 데이터를 볼 수 있다는 장점 또한 존재한다. > WHERE, FROM, SELECT절 등에서 사용가능하다.
-- 문제: 사원테이블에서 사원번호, 사원의 이름, 상사의 사원번호, 상사의 이름을 보이시오
SELECT 사원번호, 이름,
(SELECT 이름 FROM 사원 AS 상사 WHERE 사원.사원번호 = 상사.사원번호) AS 상사이름, 상사번호
FROM 사원;
다중 컬럼 서브쿼리
서브쿼리에서 여러개의 컬럼을 사용해 다중쿼리를 비교하는 쿼리
서브쿼리의 결과로 나오는 여러컬럼을 메인 쿼리의 값과 비교하여 결과를 출력한다.
-- 문제: 각 도시마다 최고 마일리지를 보유한 고객의 정보를 보이시오
SELECT 도시, 담당자명, 고객회사명, 마일리지 FROM 고객
WHERE (도시, 마일리지) IN (SELECT 도시, MAX(마일리지) FROM 고객 GROUP BY 도시);
문제를 풀어보자
정리예정