Subqueries Part 1
Coddy SQL 여정의 기초 섹션에 포함된 레슨 — 72개 중 38번째.
서브쿼리는 여러 쿼리를 하나로 결합할 수 있게 합니다. 예를 들어 다음 <strong>employees</strong> 테이블을 고려해 보세요:
| 아이디 | 급여 |
|---|---|
| 1 | 48 |
| 2 | 34 |
| 3 | 46 |
| 4 | 13 |
| 5 | 28 |
서브쿼리가 필요한 이유는 WHERE salary > AVG(salary)를 직접 사용할 수 없기 때문입니다. AVG()와 같은 집계 함수는 WHERE 절에서 사용할 수 없으며, 데이터가 그룹화된 후에만 사용할 수 있습니다.
SELECT id, salary
FROM employees
WHERE salary > (
SELECT AVG(salary)
FROM employees
);서브쿼리는 내부 쿼리(inner query)에서 먼저 평균을 계산한 후, 그 값을 외부 쿼리(outer query)에서 사용하여 회사의 평균 급여보다 더 많이 받는 직원을 찾는 데 도움을 줍니다.
평균이: (48 + 34 + 46 + 13 + 28) / 5 = 33.8 이므로, 이것이 쿼리의 결과입니다:
| 아이디 | 급여 |
|---|---|
| 1 | 48 |
| 2 | 34 |
| 3 | 46 |
챌린지
쉬움사용 가능한 테이블과 컬럼:
<strong>shop</strong>:<strong>price</strong>,<strong>quantity</strong>,<strong>category</strong>,<strong>list_date</strong>
가격이 모든 항목의 평균 가격보다 높은 모든 항목(모든 컬럼 선택)을 찾는 쿼리를 작성하세요.
WHERE 절에서 평균 가격을 계산하는 서브쿼리를 사용한 후, 각 항목의 가격을 이 평균과 비교하세요.
치트 시트
서브쿼리는 여러 쿼리를 하나로 결합할 수 있게 합니다. WHERE 절에서 AVG() 같은 집계 함수를 직접 사용할 수 없을 때 유용합니다.
기본 서브쿼리 구문:
SELECT column1, column2
FROM table_name
WHERE column1 > (
SELECT AVG(column1)
FROM table_name
);서브쿼리(내부 쿼리)는 먼저 실행되어 평균을 계산한 후, 외부 쿼리가 그 결과를 사용하여 데이터를 필터링합니다.
직접 해보기
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
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