- 서브쿼리의 값을 테이블이 아닌, 값으로 간주하게 됨.
- 단일값 예상할 때 사용함. 테이블이 아니라.
Scalar 서브쿼리 | - select, where 절에서 사용 가능 //원래 select절에는 컬럼을 열거… - 그러나 투플 수가 복수개가 나오면 런타임 에러가 나옴 - select절에서 컬럼 열거하다가 이거 포함될 수 있음. - 원래 SFW 결과는 테이블이지만, SELECT절에 사용될 때에는 그냥 scalar 값으로 간주한다. - select 컬럼명1, (SFW) as 컬럼명2 - from, where로 거른 뒤, select절이 요구하는 형태로 result set을 만들게 된다. - 투플 하나씩 계산한 결과를 가지고 결과 set에 넣기 직전, 새로운 컬럼 하나를 더 생성st.. - 근데 이제 outer 쿼리의 투플 하나 당 서브쿼리의 투플 수만큼 돌아가는… Q) list all departments along with the number of instructors in each department (학과명, 별 인원수) => select dept_name, ( select count (*) from instructor where department.dept_name = instructor.dept_name ) as num_instructors from department ; department의 값을 하나씩 투입해서 위의 서브쿼리를 돌린다. select 절의 첫 번째 컬럼인 dept_name 까지 뽑고, 그 뒤에 서브쿼리가 돌아간다. //group by 안씀! // department 하나 당, 서브쿼리의 교수자 테이블을 전부 돌면서 해당하는 교수 수 계산함 // 학과에 교수가 없는 경우도 있을 테니 department 테이블도 사용함 |
'데이터베이스설계' 카테고리의 다른 글
[데이터베이스설계] 3-14 DB 변경연산 - insertion (0) | 2025.02.15 |
---|---|
[데이터베이스설계] 3-13 DB 변경연산 - deletion (0) | 2025.02.15 |
[데이터베이스설계] 3-11 with 절 ( with 테이블명(컬럼명) as (투플 instance 정의) ) (0) | 2025.02.15 |
[데이터베이스설계] 3-10 from 절의 sub쿼리 (0) | 2025.02.15 |
[데이터베이스설계] 3-9 exist (0) | 2025.02.15 |