Oracle 데이터베이스에서 ROWNUM은 결과 집합 내의 각 행에 대해 고유한 번호를 부여하는 가상 컬럼입니다. 이는 데이터를 제한하거나 특정 조건에 맞는 행을 빠르게 필터링하는 데 사용됩니다. ROWNUM의 특징결과 집합 생성 순서: ROWNUM은 쿼리가 처리되는 순서에 따라 행 번호를 부여합니다.임시 컬럼: ROWNUM은 실제 데이터베이스 테이블의 컬럼이 아니며, SELECT 쿼리에서만 존재합니다.제약 사항: ROWNUM은 WHERE 절에서 조건으로 사용될 때 동작 방식에 주의가 필요합니다.기본 구문SELECT ROWNUM, column1, column2FROM table_name;예제 1: 간단한 데이터 제한테이블에서 상위 5개의 행만 가져오고 싶을 때 사용합니다.테이블 구조CREATE TABLE..
Oracle 데이터베이스에서 ROW_NUMBER() 함수는 순차적인 숫자를 생성하여 결과 집합 내의 각 행에 고유한 번호를 부여하는 데 사용됩니다. 이는 주로 데이터 순서를 지정하거나 특정 조건에 따라 데이터를 필터링할 때 유용합니다. 함수 구조ROW_NUMBER() OVER (PARTITION BY ORDER BY )PARTITION BY: 데이터를 그룹화하는 기준을 지정합니다. 각 그룹별로 ROW_NUMBER()가 독립적으로 계산됩니다.ORDER BY: 각 그룹 내에서 행 번호를 매기는 기준이 되는 정렬 순서를 지정합니다.사용 사례중복 데이터 제거페이징 처리그룹 내 특정 순위의 데이터 추출예제 1: 중복 데이터 제거중복된 데이터를 가진 테이블에서 최신 데이터만 남기고 나머지를 삭제한다고 가정합니다...
오라클 데이터베이스에서는 데이터를 특정 기준에 따라 순위를 매길 때 순위 함수(Ranking Functions)를 사용합니다. 이러한 함수들은 분석 함수(Analytic Functions)의 일부로, 데이터를 그룹화하거나 정렬된 결과에 기반한 다양한 순위를 제공합니다. 🏆1. 순위 함수란?순위 함수는 쿼리 결과에 대해 특정 기준으로 데이터를 정렬하고 순위를 매기는 데 사용됩니다. 오라클에서 제공하는 대표적인 순위 함수는 다음과 같습니다:RANK(): 동일한 값에 동일 순위를 부여하며, 순위 간 간격이 발생합니다.DENSE_RANK(): 동일한 값에 동일 순위를 부여하지만, 순위 간 간격이 발생하지 않습니다.ROW_NUMBER(): 동일한 값이라도 고유한 순위를 부여합니다.2. 순위 함수의 기본 구문SE..
오라클 데이터베이스에서는 계층적인 데이터 구조를 쉽게 조회할 수 있는 계층형 쿼리 기능을 제공합니다. 조직도, 카테고리 트리, 디렉토리 구조와 같은 계층적인 데이터를 다룰 때 유용합니다. 🌳1. 계층형 쿼리란?계층형 쿼리는 데이터 간의 부모-자식 관계를 기반으로 계층 구조를 조회하는 SQL입니다. 이를 위해 오라클은 다음과 같은 키워드를 제공합니다:CONNECT BY: 부모-자식 관계를 정의.START WITH: 계층 구조의 시작점을 정의.PRIOR: 부모-자식 관계를 지정할 때 사용.LEVEL: 현재 계층의 깊이를 나타내는 의사 열(column).2. 기본 구문SELECT 컬럼1, 컬럼2, LEVELFROM 테이블명START WITH 시작 조건CONNECT BY PRIOR 부모_컬럼 = 자식_컬럼;주..
COALESCE 함수는 Oracle에서 제공하는 유용한 널 처리 함수입니다. 여러 인수 중 첫 번째로 NULL이 아닌 값을 반환합니다. 이 함수는 데이터베이스에서 NULL 값을 처리하거나 대체 값을 설정할 때 매우 유용합니다.기본 문법COALESCE(expr1, expr2, ..., exprN)expr1, expr2, ..., exprN: NULL이 아닌 값을 찾기 위해 순서대로 평가하는 표현식들입니다.반환값: 가장 첫 번째 NULL이 아닌 값을 반환합니다. 모든 인수가 NULL이면 NULL을 반환합니다.사용 예제1. 간단한 예제SELECT COALESCE(NULL, 'A', 'B', 'C') AS resultFROM DUAL;결과:ANULL이 아닌 첫 번째 값이 'A'이므로 반환됩니다.2. 컬럼 값에서..
1. ABS (절대값 구하기)ABS 함수는 주어진 숫자의 절대값을 반환합니다.사용법:SELECT ABS(-123) AS ABS_VALUE FROM DUAL;결과:123💡 TIP: 절대값을 계산하여 부호를 제거하고 싶을 때 사용합니다.2. CEIL (올림)CEIL 함수는 주어진 숫자보다 크거나 같은 가장 작은 정수를 반환합니다.사용법:SELECT CEIL(5.3) AS CEIL_VALUE FROM DUAL;결과:6📌 활용: 금액 계산에서 올림 처리가 필요한 경우 유용합니다.3. FLOOR (내림)FLOOR 함수는 주어진 숫자보다 작거나 같은 가장 큰 정수를 반환합니다.사용법:SELECT FLOOR(5.7) AS FLOOR_VALUE FROM DUAL;결과:5🛠️ 활용: 할인율 계산 등에서 내림 처리가..