Database/Oracle(16)
-
[ 분석함수 ] PARTITION BY
[ PARTITION BY ] - SUM 을 할 수 있는 범위를 제한한다. - GROUP BY 를 사용하지 않고 그룹을 묶어서 연산을 할 수 있다. ex) ID 별로 SALES 의 합계를 볼 수 있다. SELECT ID, SUM(SALES) OVER (PARTITION BY SALES) FROM ORDERS WHERE YEAR = '2022' ex) RANK 함수와 조합하면 그룹의 순위를 볼 수 있다. SELECT DEPNO, ID, RANK() OVER (PARTITION BY DEPNO ORDER BY SALES DESC) AS RANK FROM ORDERS
2022.02.17 -
[ 분석함수 ] RANK vs DENSE_RANK
[ RANK() ] - 1등이 2명일 때, 다음은 3등이 된다. [ DENSE_RANK() ] - 1등이 2명일 때, 다음은 2등이 된다. (건너뛰는 번호가 없음) ※ ROW_NUMBER() - 같은 점수라도 1등은 단 한명이다. (일련번호 생성)
2022.02.17 -
ORACLE Tips
[ 테이블 컬럼정보 ] SHOW FULL COLUMNS FROM TABLE_NAME
2022.02.15 -
MERGE
MERGE INTO 란? 테이블에 데이터가 이미 존재하면 UPDATE 하고, 존재하지 않으면 INSERT를 해야하는 경우 Oracle에서 사용하는 구문 대상테이블과 원본테이블과의 비교 조건으로, 조건을 만족하면 UPDATE, 만족하지 않으면 INSERT를 실행한다. MERGE INTO 구문 MERGE INTO 대상테이블 USING (원본테이블) ON 조건 WHEN MATCHED THEN (UPDATE 절) WHEN NOT MATCHED THEN (INSERT 절)
2020.12.30 -
VIEW
VIEW(뷰) 란? 하나의 SELECT 문과 같다고 생각하면 된다. 기존에 생성된 테이블 또는 다른 뷰에서 접근할 수 있는 전체 데이터 중에서 일부만 접근 할 수 있도록 제한하기 위한 기법이다. VIEW View 는 하나의 가상 테이블이라 생각하면 된다. View 는 실제 데이터가 저장되는 것은 아니지만 View 를 통해 데이터를 관리할 수 있다. View 는 복잡한 Query 를 통해 얻을 수 있는 결과를 간단한 Query 로 얻을 수 있게 한다. 한 개의 View 로 여러 테이블에 대한 데이터를 검색 할 수 있다. VIEW 사용 이유 자주 쓰는 쿼리문을 안쓰고 테이블만 조회하면 되는 경우 보안상 필요할 때 VIEW 의 장점 DB의 선택적인 부분만 보여주므로 접근을 제한 다양한 접근 경로 설정 복잡한 ..
2020.12.18 -
INDEX
INDEX (인덱스) 란? INDEX 는 테이블이나 클러스트에서 쓰여지는 선택적인 객체입니다. INDEX Oracle 데이터베이스 테이블 내의 원하는 레코드를 빠르게 찾아갈 수 있도록 만들어진 데이터 구조이다. Index 를 생성하는 것이 좋은 컬럼 WHERE 절이나 JOIN 조건 안에서 자주 사용되는 컬럼 NULL 값이 많이 포함되어 있는 컬럼 WHERE 절이나 JOIN 조건에서 자주 사용되는 두개 이상의 컬럼들 테이블이 자주 갱신될 때는 Index 생성이 불필요하다.
2020.12.18