서브 쿼리란?
조인과의 차이점
- 한 쿼리문 내 여러개의 테이블을 연결한 후 필요한 컬럼 조회
단일 행 서브쿼리
- 서브 쿼리의 결과가 단일 행인 쿼리
예시1
시험결과 테이블에 (이름, 점수)가 있을 때, 가장 높은 점수를 가진 행을 가져오기
1
2
3
4
5
6
SELECT 이름, 점수
FROM 시험결과
WHERE 점수 = (
SELECT MAX(점수)
FROM 시험결과
);
예시2
시험결과 테이블에 (반, 이름, 점수)가 있을 때, 1반의 최고 점수보다 높은 점수를 가진 2반의 이름, 점수를 가져오기
1
2
3
4
5
6
7
SELECT 이름, 점수
FROM 시험결과
WHERE 반 = '2' AND 점수 > (
SELECT MAX(점수)
FROM 시험결과
WHERE 반 = '1'
);
복수 행 서브쿼리
- 서브 쿼리의 결과가 여러 행이 나오는 쿼리
IN, ALL, ANY, SOME, EXISTS
WIP