오라클 교육의 마지막인날로 PL/SQL을 비롯한 여러 오라클 이론을 학습했습니다.
그룹함수의 종류 | 의미 |
---|---|
COUNT | 행의 객수 출력 |
MAX | NULL을 제외한 모든 행에서 최대 값 |
MIN | NULL을 제외한 모든 행에서 최소 값 |
SUM | NULL을 제외한 모든 행의 합 |
AVG | NULL을 제외한 모든 행의 평균 값 |
STDDEV | NULL을 제외한 모든 행의 표준편차 |
VARIANCE | NULL을 제외한 모든 행의 분산 값 |
GROUPING | 해당 컬럼이 그룹에 사용되는지 여부를 1 또는 0으로 변환 |
GROUPING SETS | 한 번의 질의로 여러 개의 그룹화 가능 |
여기서 GROUPING에서 특이사항은 0이 반환되면 GROUP BY를 사용했다는 결과 값이고 반대로 1인 경우에는 사용하지 않았다는 결과 값을 조회하는 것입니다.
위에 의미를 보다 싶이 NULL 값에 대한 사전 처리가 되어 있지 않으면 원하는 값이 나오지 않을 수 있습니다.
특정 컬럼 값을 기준으로 테이블의 전체 행을 그룹별로 나누기 위한 절
규칙
카티션 곱은 다른 말로 클로스 조인이라고도 합니다. 카티션 곱은 OUT JOIN 했을 때 나오는 경우의 수를 의미합니다.
동적 바인딩을 통해 메모리 효율을 높입니다.
TM_WORK_YY CAL_BATCH_MAST.WORK_YY%TYPE;
TM_WORK_MM CAL_BATCH_MAST.WORK_MM%TYPE;
이런식으로 %TYPE을 사용하여 변수타입을 선언합니다.
Oracle에서 지원하는 프로그래밍 언어의 특성을 수용한 SQL의 확장 언어입니다.
PL/SQL BLOCK 내에서 SQL의 DML문과 Query문, 절차형 언어 등을 사용하여 절차적으로 프로그래밍을 가능하게 한 강력한 트랜잭션 언어입니다.
alter table Cal_Dsum_Tran truncate partition (P_DT_20234Q);
DELETE
FROM cal_dsum_tran
WHERE hpn_yy = '2023'
AND hpn_mm IN ('04','05','06')
;
COMMIT;
DML로 작업을 하게 되면 메모리 반환을 해주지 않으면 시간이 오래걸린다는 단점이 있으므로 쿼리문을 잘 짜는 방법은 DDL 명령어를 통해 만들어주면 됩니다.
※공부하고 있어 다소 틀린점이 있을 수 있습니다. 언제든지 말해주시면 수정하도록 하겠습니다.
※용어에 대해 조금 공부 더 해서 수정하겠습니다.