DB
SQL 기초 2
MoonjuLee
2022. 6. 27. 18:47
조인(join) : (간단히 말하면)두개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력하는 것.
join의 조건은 where절에 기술한다.
join의 종류
1. equi-join : 두 개의 테이블 간에 갈럼값들이 정확하게 일치하는 경우에 사용
2. non-equi join : 두 개의 테이블간에 칼럼값들이 서로 정확하게 일치하지 않는 경우에 사용
3. self join : 두 개의 테이블들간에 join을 거는 것이 아니라 같은 테이블에 있는 행들을 join하는데 사용
Cartesian Product : 모든 가능한 행들의 조합
내부조인(inner join) :
ex) 상품테이블 : prod , 분류테이블 : lprod
select p.prod_lgu
, p.prod_id
, p.prod_name
, l.lprod_gu
, l.lprod_nm
from lprod l, prod p
where lprod_gu = prod_lgu;
위의 오라클 식으로 3개의 테이블을 내부 조인한다면
where절과 밑에 and를 써줘 조인 조건 2개를 쓴다.
ex) where ~
and ~;
※ansi로 표현
select p.prod_lgu
, p.prod_id
, p.prod_name
, l.lprod_gu
, l.lprod_nm
from lprod l inner join prod p
on (lprod_gu = prod_lgu);
위의 ansi는 from절에 on을 써 1개의 조인조건을 완성시킨 후
또 inner join을 써서 2개의 조인조건을 만든다.
ex) from a inner join b on(~)
inner join c on(~);
<집계함수>
1. avg(column) : 조회 범위 내의 컬럼들의 평균값, 주의사항 avg를 쓸 때 데이터에 null값이 있으면
안되므로 nvl을 사용하여 null을 0으로 만들고 사용하는 것을 권장한다.
ex) select avg(distinct prod_cost) from prod; => 중복 값 제외 후 평균
2. count(column) : 조회 범위 내 해당 컬럼들의 자료 수, count(*)는 선택된 자료의 수
ex) select prod_lgu , count(*) from prod group by prod_lgu; => 상품테이블의 상품분류별 자료의 수
3. max(column), min(column) : 조회 범위의 컬럼값의 최대값, 최소값
ex) select max(prod_cost) from prod; => 상품 비용의 최대값
4. sum(column) : 조회 범위 내 해당 컬럼들의 합계
ex) select sum(prod_cost) from prod; => 상품 비용의 합계
집계함수는 어떻게 추출되는지 이해하며 써야 할 것 같다. 그러므로 이해하자!(나도)
공부하며 업데이트 예정입니다!