Mt.Hwang 2024. 4. 6. 23:50

목차
 5.1 집계 함수
 5.2 조인 테이블
 5.3 중첩 서브질의
 5.4 랭킹
 5.5 기타 기능


 * 집계 함수  aggregate functions
 1. 평균값   avg
 2. 최소값   min
 3. 최대값   max
 4. 값의 합  sum
 5. 개수      count

 count(distinct 속성)
유일한 값의 개수를 반환
중복이 안 되는 값의 개수 반환

Select avg(속성), max(속성), min(distinct 속성)


 * group by 절
전체 테이블을 특정 속성 값으로 튜플을 분류하고
나누어진 각 그룹에 대하여 집계 함수를 적용할 때

group by 절에 나온 속성과 집계 함수만이
select 절에 나올 수 있다
다른 것이 select 절에 나올 수 없다

group by 절에 나온 속성이
select 절에 나오지 않을 수도 있다
다만 이러면 어느 그룹에 대한 결과인지 알 수 없다


 * having 절
group by 절 결과로 생성된 그룹에 대하여
임의 조건을 명시하는데 사용

그룹에 대한 조건만 명시함으로써
사용자가 원하는 그룹만 보게 해준다

Select 속성, 집계함수(속성)
from 테이블
group by 속성
having 집계함수(속성) > 6900;  // 조건을 명시한 것

where 절이 먼저 적용되고
그 후 having 절이 적용된다


집계함수는 기본적으로 널 값을 무시한다

모든 값이 널 값일 경우 count 함수는 0을 반환

sum은 널 값을 무시하고 계산하며
모든 값이 널 값이면 널을 반환


* 조인 테이블
조인 연산은 두 개의 입력 테이블을 받아
한 개의 결과 테이블을 생성

where 절에서 사용할 수 있고
from 절에서 조인 테이블을 생성한 후 where 절에서 명시할 수도 있다

inner join에서 inner은 생략할 수 있어서
join은 inner join을 의미

종류는
 1. inner join
 2. outer join
  (1) left outer join
  (2) right outer join
  (3) full outer join


 * 외부 조인
조인 연산에서 값 매치가 되지 않아
손실되는 정보를 유지하려고 하는 연산

외부 조인은
 1. 조인 연산을 수행하고
 2. 조인 연산에서 제외된 튜플에 널 값을 이용해서 결과 테이블에 첨가


 * 조인 조건
두 입력 테이블에서
어떤 조건으로 튜플이 매치가 되는지를 결정하고
어떤 속성이 겨로가 테이블에 나타나는지 결정

조인 조건 방법은
 1. 자연적인 방법
 2. 조인 조건을 명시하는 방법
 3. 자연 조인에 사용되는 속성을 명시하는 방법

테이블1 join 테이블2 on 테이블1.속성1 = 테이블2.속성1

테이블1 join 테이블2 using(속성)

키워드는
 1. inner join
 2. left outer join
 3. right outer join
 4. full outer join
 5. natural right outer join