Subqueries Part 2
Coddy SQL 여정의 기초 섹션에 포함된 레슨 — 72개 중 39번째.
서브쿼리에는 세 가지 주요 유형이 있습니다:
- 스칼라 서브쿼리 - 단일 값(한 행, 한 열)을 반환
- 행 서브쿼리 - 여러 열을 가진 단일 행 반환
- 테이블 서브쿼리 - 여러 행과 열 반환
예를 들어 각 서브쿼리 유형에 대한 몇 가지 사용 사례는 다음과 같습니다:
Scalar Subquery - 평균 급여보다 더 많이 버는 직원을 찾기:
SELECT name, salary
FROM employees
WHERE salary > (
SELECT AVG(salary)
FROM employees
);행 서브쿼리 - Alice와 동일한 부서와 급여를 가진 직원(들) 찾기
SELECT name
FROM employees
WHERE (department, salary) = (
SELECT department, salary
FROM employees
WHERE name = 'Alice'
);테이블 서브쿼리 - 부서와 해당 직원 수 표시
SELECT department, count
FROM (
SELECT department, COUNT(*) as count
FROM employees
GROUP BY department
) as dept_counts;사용 사례를 확인하세요:
- Scalar - 간단한 비교 (>, <, =)
- 여러 열을 매칭해야 할 때
- 결과 집합에서 쿼리해야 할 때
챌린지
쉬움사용 가능한 테이블 및 컬럼:
shop:price,quantity,category,list_date
상점의 모든 수량의 평균보다 총 수량이 더 많은 카테고리를 찾으세요.
중요: 평균을 계산하기 위해 HAVING 절 안에 서브쿼리를 사용해야 합니다. 하드코딩된 값이나 별도의 쿼리를 사용하지 마세요 — 서브쿼리는 HAVING 안에서 shop 테이블의 AVG(quantity)를 직접 계산해야 합니다.
해결 단계:
- 먼저, 상점의 모든 수량의 평균을 계산하는 서브쿼리를 작성하세요:
SELECT AVG(quantity) FROM shop - 그 다음, 각 카테고리에 대해 수량을 합산하고
HAVING키워드를 사용하여 이 서브쿼리와 비교하세요
치트 시트
서브쿼리에는 세 가지 주요 유형이 있습니다:
- 스칼라 서브쿼리 - 단일 값(한 행, 한 열)을 반환합니다
- 행 서브쿼리 - 여러 열을 가진 단일 행을 반환합니다
- 테이블 서브쿼리 - 여러 행과 열을 반환합니다
스칼라 서브쿼리 - 간단한 비교(>, <, =):
SELECT name, salary
FROM employees
WHERE salary > (
SELECT AVG(salary)
FROM employees
);행 서브쿼리 - 여러 열 매칭:
SELECT name
FROM employees
WHERE (department, salary) = (
SELECT department, salary
FROM employees
WHERE name = 'Alice'
);테이블 서브쿼리 - 결과 집합으로부터 쿼리:
SELECT department, count
FROM (
SELECT department, COUNT(*) as count
FROM employees
GROUP BY department
) as dept_counts;직접 해보기
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns