본문 바로가기
국비지원수업/Oracle

국비지원 수업 - HAVING절, ROLLUP과 CUBE, JOIN문

by kimdokhanko 2022. 12. 22.
728x90

 

 

 

HAVING절은 그룹함수의 결과 값을 써야 할 때 작성한다.

WHERE절과 비슷해 보이지만 같은 조건으로 사용이 불가하다.

그룹함수의 결과값이 있는데 HAVING을 쓰지 않고 출력하면 오류메시지가 뜬다.

 

SELECT ~~

FROM ~~

WHERE ~~

GROUP BY ~~

HAVING ~~;

 

 

그룹 별로 산출한 결과값의 집계를 계산하는 함수이다.

ROLLUP은 인자로 전달받은 그룹 중 가장 먼저 지정한 그룹별 합계와 총합계를 구한다.

CUBE는 그룹으로 지정된 모든 그룹에 대한 합계와 총합계를 구한다. 그래서 결과 값이 ROLLUP보다 많다.

GRUOP BY 절에 사용한다.

 

 

JOIN문은 두 개 이상의 테이블에서 서로 연관이 있는 데이터들을 하나로 모아 가상테이블을 만들고 이용하여 출력한다.

서로 다른 테이블이지만 같은 값을 가지고 있는 공통값을 이용해서 조합하는 방법이다.

 

• INNER JOIN(내부 조인) : 교집합 (일반적으로 사용하는 JOIN)

• OUTER JOIN(외부 조인) : 합집합

=> LEFT OUTER JOIN (왼쪽 외부 조인)

=> RIGHT OUTER JOIN (오른쪽 외부 조인)

=> FULL OUTER JOIN (완전 외부 조인)

• CROSS JOIN(상호 조인) -> 카테이션곱(Cartensian Product)이라고도 함

• NON_EQUI JOIN(비등가 조인) -> 지정한 컬럼 값이 일치하는 경우가 아닌, 값의 범위에 포함되는 행들을 연 결하는 방식

 

 

JOIN문이 어렵다고 들어서 걱정하며 수업을 들었는데, 정말 어려운 건 현재 배우고 있는 서브쿼리문이었고...

그다음으로 배우는 것들이 지금보다 더 어렵다고 한다.

이제는 새롭게 배우는 것들이 서로 어려워지기 때문에 매일 배우는 것을 차근차근 숙지하며 시간을 보내야 한다.

728x90

댓글