SQL 하위 쿼리는 하나의 쿼리를 다른 쿼리 내에 삽입하여 복잡한 방식으로 데이터를 검색하고 조작하는 데 더 많은 중요성을 추가할 수 있게 해주는 귀중한 기능입니다. 이후에 외부 쿼리에서 사용할 임시 테이블이나 중간 결과를 설정하는 데 사용됩니다.
FROM 절의 하위 쿼리
FROM 절을 사용하여 SQL에서 하위 쿼리 표현식을 지정할 수 있습니다. 하위 쿼리에 의해 생성된 관계는 추가 작업을 위해 외부 쿼리가 적용되는 새 관계로 사용됩니다. 하위 쿼리FROM절은 물리적 테이블에 존재하지 않는 임시 데이터 세트를 생성해야 할 때 사용됩니다. 이는 복잡한 데이터 세트로 작업할 때 매우 유용할 수 있습니다.
롬이 뭐야?
외부 쿼리의 FROM 절에서 참조되는 테이블의 상관 변수는 FROM 절의 하위 쿼리 내에서 직접 사용할 수 없습니다. 아래에는 다양한 시나리오에서 사용되는 FROM 절에서 하위 쿼리를 사용하는 두 가지 구문이 나와 있습니다.
1. 간단한 하위 쿼리FROM절:
열1 열2 선택
FROM(SELECT 열_x AS C1 열_y FROM 테이블 WHERE 조건) AS 하위 쿼리_테이블
어디서 외부_조건;
2. 하위 쿼리FROM다음과 같은 조항JOIN:
열1 열2 선택
FROM (SELECT 열_x AS C1 열_y FROM 테이블 WHERE PREDICATE_X) AS 테이블2
엑셀의 날짜 차이JOIN table1 ON table2.some_column = table1.some_column
서술하는 곳;
매개변수:
- 하위 쿼리 : 괄호로 묶인 내부 쿼리입니다. 임시 테이블 역할을 할 데이터를 검색합니다.
- 별명 : 하위 쿼리에는 별칭(
subquery_table)를 외부 쿼리에서 참조합니다. - 외부 쿼리 : 그러면 외부 쿼리는 필터를 적용하거나 추가 작업을 수행하는 하위 쿼리로 생성된 이 임시 테이블을 사용할 수 있습니다.
FROM 절의 하위 쿼리 작동 방식
- 하위 쿼리 평가 : from 절의 하위 쿼리가 먼저 평가된 다음 평가 결과가 새로운 임시 관계에 저장됩니다.
- 외부 쿼리 : 하위 쿼리가 실행되어 데이터세트를 반환한 후 외부 쿼리는 외부 쿼리의 where 절에 있는 조건자를 만족하는 임시 관계에서 해당 튜플만 선택하여 평가됩니다.
FROM 절에 하위 쿼리를 사용하는 예
FROM 절의 하위 쿼리가 실제로 어떻게 작동하는지 이해하기 위해 몇 가지 실제 사례를 논의해 보겠습니다. 여기 테이블이 두 개 있어요 강사 급여, 부서 등 강사에 대한 정보가 포함된 테이블입니다. 다른 하나는 부서 부서의 예산을 포함하여 다양한 부서에 대한 정보가 포함된 테이블입니다.
강사 테이블
| 강사ID | 이름 | 부서 | 샐러리 |
|---|---|---|---|
| 44547 | 스미스 | 컴퓨터 과학 | 95000 |
| 44541 | 청구서 | 전기 같은 | 55000 |
| 47778 | 홀로 | 인문학 | 44000 |
| 48147 | 에릭 | 기계 | 80000 |
| 411547 | 향유 | 정보 기술 | 65000 |
| 48898 | 예나 | 예의 바른 | 50000 |
부서 테이블
| 부서명 | 예산 |
|---|---|
| 컴퓨터 과학 | 100000 |
| 전기 같은 | 80000 |
| 인문학 | 50000 |
| 기계 | 40000 |
| 정보 기술 | 90000 |
| 예의 바른 | 60000 |
예시 1: 모든 학과의 평균예산보다 급여가 많은 교수를 모두 찾아보세요.
이 예에서는 FROM 절의 하위 쿼리를 사용하여 모든 부서의 평균 예산을 계산한 다음 강사의 급여와 비교합니다.
루프에 대한 bash
질문:
문자열 포맷터
SELECT I.InstructorID I.Name I.Department I.Salary
FROM (SELECT AVG(Budget) AS averageBudget FROM Department) AS BUDGET
Instructor AS I
WHERE I.Salary > BUDGET.averageBudget;
산출
| 강사ID | 이름 | 부서 | 샐러리 |
|---|---|---|---|
| 44547 | 스미스 | 컴퓨터 과학 | 95000 |
| 48147 | 에릭 | 기계 | 80000 |
설명:
- 부서 관계의 모든 부서의 평균 예산은 70000입니다.
- Erik과 Smith는 강사 관계에서 급여가 70000을 초과하여 출력 관계에 존재하는 유일한 강사입니다.
FROM 절에 하위 쿼리를 사용하는 이유는 무엇입니까?
FROM 절에 하위 쿼리를 사용하면 아래와 같이 다양한 이점이 있습니다.
- 단순화 : 복잡한 쿼리를 관리하기 쉬운 작은 부분으로 나누어 단순화할 수 있습니다. 데이터베이스에 임시 테이블을 명시적으로 생성할 필요는 없습니다.
- 가독성 향상 : FROM 절에 하위 쿼리를 사용하면 쿼리가 분할되기 때문에 쿼리를 더 쉽게 읽을 수 있습니다.> 유연성 : 하위 쿼리를 사용하면 중간 테이블을 만들 필요 없이 다른 데이터세트에 대한 집계 또는 필터링과 같이 불편할 수 있는 작업을 수행할 수 있습니다.
결론
FROM 절의 하위 쿼리를 사용하면 다음을 정의할 수 있습니다. 임시 결과 세트 외부 쿼리에 의해 활용될 수 있습니다. 복잡한 SQL 작업을 더 쉽게 만들어 쿼리 가독성을 높이고 데이터 필터링 및 집계에 유연성을 제공합니다. FROM 절 내에서 하위 쿼리를 활용하는 방법을 아는 것은 모든 SQL 실무자의 기본 기술입니다. 특히 복잡한 데이터베이스를 다루거나 복잡한 데이터 분석을 수행해야 하는 경우에는 더욱 그렇습니다.
퀴즈 만들기