ORACLE - WITH절(서브쿼리 팩터링)
·
개발/ORACLE
오늘은 Oracle SQL에서 자주 사용되는 WITH절에 대해 깊이 있게 알아보자.복잡한 SQL 쿼리를 깔끔하게 정리하고 성능까지 개선할 수 있는 유용한 기능이다.WITH절이란?WITH절은 서브쿼리를 정의해서 재사용할 수 있도록 해주는 기능으로, 이를 서브쿼리 팩터링 (Subquery Factoring) 이라고 부른다.반복되는 서브쿼리를 줄이고, 복잡한 쿼리를 계층적으로 표현할 수 있어 가독성과 유지보수성이 좋아진다. 기본 문법 WITH 서브쿼리이름 AS ( 서브쿼리)SELECT ...FROM 서브쿼리이름; 여러 개의 서브쿼리를 , 로 나열하여 동시에 정의할 수도 있다.WITH A AS (...), B AS (...)SELECT ...FROM AJOIN B ON ...; 예제 데이터 준비하..
ORACLE - PIVOT and UNPIVOT
·
개발/ORACLE
데이터를 분석하다보면 행을 열로, 열을 행으로 바꾸는 작업이 필요할 때가 있다.오라클에서는 쉽게 처리할 수 있도록 PIVOT과 UNPIVOT 기능을 제공한다.PIVOTPIVOT은 행 데이터를 열로 바꾸는 기능을 한다.예로 월별 매출 데이터를 각 월로 정리하고 싶을때 유용하다.컬럼을 각 월로 지정해도 되지만 복잡해진다. PIVOT 예시 데이터 (SALES)YEARMONTHAMOUNT2023JAN10002023FEB12002023MAR900 PIVOT SQL 예제SELECT *FROM ( SELECT YEAR , MONTH , AMOUNT FROM SALES)PIVOT (SUM(AMOUNT) FOR MONTH IN ('JAN' AS JAN, 'FEB' AS FEB, 'M..
Oracle install 19c
·
개발/ORACLE
다운로드오라클 다운로드 Database Software Downloads | Oracle 대한민국Oracle Database Software Downloads Whether you are a developer, a data scientist, a DBA, an educator, or just interested in databases, Oracle Database 23ai is the ideal way to get started. It provides native support for all modern data types, analytics, anwww.oracle.com오라클 사이트에 접속해서 해당 플랫폼에 맞춰 다운로드 받으면 된다.윈도우와 리눅스 외에도 많은 플랫폼에 맞춰 다운로드 받을 수 있다...
Oracle의 V$RESOURCE_LIMIT과 process / session
·
개발/ORACLE
V$RESOURCE_LIMITV$RESOURCE_LIMIT이란? V$RESOURCE_LIMIT은 리소스 사용 정보를 표시하는 뷰.이 뷰를 사용하여 리소스 소비를 모니터링하고 필요한 경우 수정 조치를 취할 수 있다. 컬럼의 정의ColumnDataTypeDesciptionRESOURCE_NAMEVARCHAR2 (128)리소스의 이름CURRENT_UTILIZATIONNUMBER현재 사용 중인 리소스나 프로세스의 수MAX_UTILIZATIONNUMBER인스턴스 시작 이후 리소스의 최대 소비량INITIAL_ALLOCATIONVARCHAR2 (40)초기 할당량 (무제한 할당은 UNLIMITED)LIMIT_VALUEVARCHAR2 (40)제한 값 (초기 할당량보다 클수있음)CON_IDNUMBER컨테이너 id0: 전체..
Oracle 에서 limit 구현하기
·
개발/ORACLE
mysql 에서 oracle로 넘어오니 생각보다 많은게 다르다.보통 데이터를 볼때 부하를 조금이라도 더 줄이기 위해 10개 내지 필요한 만큼 잘라서 보기때문에 오라클로 넘어왔을때 limit을 하니 문법 오류가 났다.오라클에서 어떻게 하는지 알아보자MysqlSELECT * FROM {target_table}LIMIT 10; OracleSELECT *FROM ( SELECT * FROM {target_table} WHERE {조건문})WHERE rownum =1 AND rownum rownum은 오라클에서 제공하는 가상컬럼이고 추출하는 데이터의 순번을 부여하는 용도로 사용된다.rownum은 다시 다루겠다.