728x90
오라클 문법 KEEP 함수
KEEP 뜻과 사용 방법
KEEP은 특정 컬럼을 정렬한 후에 찾은 한 행이 있다면, 그 행의 다른 정보들을 알고싶을때 쓴다.
KEEP 은 보통 FIRST, LAST 와 함께 사용한다. 즉, FIRST, LAST의 기준에 따라 최대값을 찾을지 최소값을 찾을지 정할 수 있다.
예를 들면, 직원 테이블에서 직원이름 컬럼과 연봉 컬럼이 있을때
연봉이 가장 높은 직원의 이름을 찾는 경우가 있다.
여기서 DENSE_RANK 함수는 해당 그룹에서 값의 순위를 계산한다 . RANK와의 차이점은 같은 순위가 두개 이상 있다면, 다음 순위는 1만 증가하여 반환한다는 점이다.
정렬을 통해 나온 값들을 유지할때 아래와 같이 서브쿼리를 사용할 수도 있지만 KEEP을 사용하면 소스를 간결하게 작성할 수 있다.
서브쿼리 예)
SELECT 컬럼A
FROM 테이블A
WHERE 컬럼B = (SELECT MAX(컬럼B)
FROM 테이블A)
728x90
'Programming > SQL' 카테고리의 다른 글
SQL / 조인 / Inner Join / Outer Join / Non-equi Join / Self Join (2) | 2021.03.16 |
---|---|
SQL / DDL (Data Definition Language) 데이터 정의어 (1) | 2021.03.16 |
SQL / 서브쿼리 / Inline View 인라인뷰 / Scala Subquery 스칼라 서브쿼리 (0) | 2021.03.14 |
SQL / 그룹 연산 함수 / group by / having절 (0) | 2021.03.13 |
SQL / Oracle 오라클 / 함수 정리 (문자/숫자/날짜/변환/조건/NULL) (0) | 2021.03.13 |
댓글