전체 글 74

그룹 내 순위 함수(RANK, DENSE_RANK, ROW_NUMBER)

1) RANK ORDER BY를 포함한 QUERY 문에서 특정 칼럼에 대한 순위를 구함. - 특정 범위(PARTITION)와 전체 데이터에 대한 순위를 구할 수 있다. - 동일한 값에 대해서는 동일한 순위를 부여한다. [예제] JOB 별 SALARY 순서 구하기. SELECT JOB, ENAME, SAL, RANK() OVER (PARTITION BY JOB ORDER BY SAL DESC) JOB_RANK FROM EMP; [실행 결과] 2) DENSE_RANK RANK 함수와 유사. - 동일한 순위를 하나의 건수로 취급한다. [예제] SELECT JOB, ENAME, SAL, RANK() OVER (ORDER BY SAL DESC) RANK, DENSE_RANK() OVER (PARTITION BY ..

그룹 함수(ROLLUP, CUBE, GROUPING SETS)

그룹 함수(GROUP FUNCTION) 하나의 테이블을 여러 번 읽어 재정렬하지 않고, 하나의 SQL로 테이블을 한 번만 읽어서 빠르게 원하는 리포트를 작성. → 집계 함수(COUNT, SUM, AVG, MAX, MIN)를 제외한 ROLLUP, CUBE, GROUPING SETS - ROLLUP 함수 소그룹 간의 소계 계산. Subtotal Level: N + 1 ex) GROUP BY ROLLUP (A, B); → Grouping Columns의 수: 2개 (A와 B) → Subtotal Level : 3 (2 + 1) - CUBE 함수 GROUP BY 항목들 간 다차원적인 소계 계산. Subtotal Level: 2의 N승 ex) GROUP BY CUBE (A, B); → Subtotal Level ..

뷰(VIEW, VIEW 장점, VIEW 생성, VIEW 사용, VIEW 제거)

뷰(VIEW) 테이블과 달리 실제 데이터를 가지고 있지 않고, 뷰 정의(View Definition)만을 가지고 있다. → 뷰가 사용되면 뷰 정의를 참조해서 DBMS 내부적으로 질의를 재작성(Rewrite)하여 질의를 수행. - 테이블이 수행하는 역할을 수행하기 때문에 가상 테이블(Virtual Table)이라고도 함. 뷰 장점 - 독립성 : 테이블 구조가 변경되어도 뷰를 사용하는 응용 프로그램은 변경할 필요 없음. - 편리성 : 복잡한 질의를 뷰로 생성하여 질의를 단순하게 작성할 수 있음. - 보안성 : 숨기고 싶은 정보가 존재한다면, 뷰를 생성할 때 해당 칼럼을 빼고 생성하여 사용자에게 정보를 감춤. 뷰 생성 CREATE VIEW V AS SELECT T1.칼럼명1, T2.칼럼명2, ... FROM ..

FROM절 JOIN(INNER JOIN, NATURAL JOIN, USING 조건절, ON 조건절, CROSS JOIN, OUTER JOIN)

FROM절 JOIN 형태 - INNER JOIN - NATURAL JOIN - USING 조건절 - ON 조건절 - CROSS JOIN - OUTER JOIN ANSI/ISO SQL에서 규정한 JOIN 문법은 WHERE 절을 사용하던 기존 JOIN 방식과 차이가 있다. INNER JOIN → WHERE 절에서부터 사용하던 JOIN의 DEFAULT 옵션으로, JOIN 조건에서 동일한 값이 있는 행만 반환. → CROSS JOIN, OUTER JOIN과는 같이 사용할 수 없다. NATURAL JOIN → INNER JOIN의 하위 개념. 두 테이블 간의 동일한 이름을 갖는 모든 칼럼들에 대해 EQUI JOIN 수행 WHERE 절에서 JOIN 조건과 데이터 검증 조건이 같이 사용되었을 때 용도가 불분명한 경우..

일반 집합 연산자, 순수 관계 연산자

관계형 데이터베이스의 이론을 수립한 E.F.Codd 박사의 논문에 언급된 8가지 관계형 대수는 각각 4개의 일반 집합 연산자와 순수 관계 연산자로 나눌 수 있다. 이는 관계형 데이터베이스 엔진 및 SQL의 기반 이론이 되었다. 일반 집합 연산자 일반 집합 연산자 현재 SQL UNION 연산 UNION 기능 INTERSECTION 연산 INTERSECT 기능 DIFFERENCE 연산 EXCEPT(Oracle은 MINUS) 기능 PRODUCT 연산 CROSS JOIN 기능 - UNION 연산 수학적 합집합. 공통 교집합의 중복을 없애기 위한 사전 작업. 정렬 작업 발생 +) UNION ALL은 공통 집합을 중복해서 그대로 보여주기 때문에 정렬 작업이 일어나지 않음. → UNION과 UNION ALL의 출력 ..

728x90
반응형