목록oracle (28)
나의 개발일지

GROUP BY 절의 추가 연산자 GROUP BY 절에 두 개 이상의 열을 지정하는 경우 그룹 함수는 항상 마지막 소그룹에 대한 결과만 반환 GROUP BY 절에 연산자를 추가하여 하나의 쿼리문 안에서 여러 차원의 그룹화 연산 가능 GROUP BY 절의 추가 연산자 종류 ROLLUP 연산자 CUBE 연산자 GROUPING SETS 연산자 ROLLUP 연산자 정규 GROUP BY에 의한 그룹화 행과 하위 총계 값을 포함하는 결과 집합을 산출 기존 GROUP BY의 결과와 상위 집계를 함께 표시 GROUP BY 절에 지정한 그룹화 목록에 따라 가장 하위 레벨부터 시작하여 최상위 총계까지 차례로 계산 엑셀에서의 부분합을 구하는 작업과 유사 보고서 작성 시 결과 집합에서 통계 및 요약 정보를 추출하는 데 유용하..

서브 그룹에 대한 집계결과 산출 그룹 함수를 사용하는 쿼리문에 GROUP BY 절을 추가 선택된 행을 서브 그룹으로 나눈 후 그룹 함수를 사용하여 각 서브 그룹에 대한 집계정보를 산출 GROUP BY 절에는 서브 그룹의 기준 열의 이름을 명시 구문 SELECT column, group_function(column), ... FROM table [WHERE 조건(s)] GROUP BY group_by_표현식 ORDER BY column; GROUP BY 절의 기본적인 사용법 FROM 절 다음에 GROUP BY 절을 명시 서브 그룹 생성 전에 제외할 행이 있다면 GROUP BY 절보다 앞 WHERE 절에 지정 GROUP BY 절에 지정되는 열 이름만 SELECT 절에 지정 가능 여러 열 기준의 서브 그룹 그..

그룹 함수의 개념 행 집합에 작용하여 그룹 당 하나의 결과를 생성 행 집합은 테이블 전체 혹은 WHERE 절의 조건에 의해 선택된 행들이 하나의 그룹 선택된 행들에 대하여 하나의 그룹으로 처리되기 때문에 그룹 함수의 결과는 항상 단일 행 구문 SELECT group_function(column), ... FROM table [WHERE 조건(s)]; 그룹 함수의 종류 COUNT MIN MAX AVG SUM SUM, AVG 함수 숫자 데이터를 저장하는 열에 대해 선택된 데이터들의 합계와 평균을 구한다. 예) SUM(salary), AVG(salary) MIN, MAX 함수 모든 데이터 타입에 사용 가능 선택된 열에 대한 최솟값, 최댓값을 구한다. 예) MIN(salary), MAX(salary), MIN(..

오라클의 조건 처리 구현 방식 오라클의 SQL 문 안에서 조건 처리 구현 (IF-THEN-ELSE 논리) DECODE 함수 DECODE는 오라클 8i 이전 버전에서 사용하던 전용 구문 CASE 표현식 ANSI SQL DECODE 함수 프로그래밍의 IF-THEN-ELSE 구문과 비슷한 기능을 하는 SQL 함수 첫 번째 인수에 해당하는 표현식을 각 search 값과 비교한 후 표현식이 search 값과 동일하면 해당 result 값을 반환 기본값(default)은 모든 조건에 맞지 않는 데이터에 적용 기본값이 생략되면 모든 search 값을 만족하지 않는 데이터는 NULL 값을 반환 구문 DECODE(col|표현식, search1, result1 [, search2, result2,..] [, default..

일반 함수 표현식에 NULL 값을 비롯한 모든 데이터 유형의 값을 사용할 수 있는 함수 사용 가능한 일반함수의 종류는 수 백 가지에 이를 만큼 방대 일반 함수 종류 예 : NVL, NVL2, NULLIF, COALESCE ... 등등 NVL 함수 NULL 값을 실제 값으로 변환해주는 함수 구문 NVL(표현식1, 표현식2) 표현식1 : NULL을 포함하는 열 이름 또는 표현식 표현식2 : NULL 값을 변환할 대상 값 표현식2의 데이터 유형은 표현식1의 데이터 유형과 동일 NVL 함수를 활용하여 COMM이 NULL인 사원에 대하여 ANNSAL의 결과가 나오도록 하면서 사원의 연간 총 급여를 표시 NVL 함수를 이용해 NULL값을 실제 값으로 만들어주지 않고 계산하면 값과 NULL을 연산하게 되어 결과가 N..

함수의 중첩 단일 행 함수는 여러 번 중첩가능 가장 안쪽부터 바깥쪽 순으로 계산 예) CONCAT(birthdate, CONCAT('[', CONCAT(gender,']'))) 이름이 '영'으로 끝나는 사원들을 대상으로 문자함수를 중첩하여 이름의 두 번째 문자로부터 세 문자를 '*'로 표시하고 생년월일과 특수문자 '[]' 및 GENDER 열을 결합하여 생년월일 옆에 성별을 표시 SELECT emp_id, REPLACE(emp_name, SUBSTR(emp_name, 2, 4), '***') name, CONCAT(birthdate, CONCAT('[', CONCAT(gender,']'))) AS birth FROM y_emp WHERE emp_name LIKE '%영'; 입사 후 6개월 경과 후 첫 번째..

데이터 유형 변환 암시적 데이터 유형 변환 오라클 서버에 의해 자동으로 수행되는 데이터 유형 변환 명시적 데이터 유형 변환 변환 함수를 사용하여 사용자에 의해 수행되는 데이터 유형 변환 SQL 문의 신뢰성과 가독성을 높이기 위해서 권장되는 방법 변환 함수 SQL은 값의 데이터 유형을 변환하는 세 가지 함수 제공 TO_CHAR TO_DATE TO_NUMBER 암시적 형변환, 숫자 데이터 유형인 salary열의 값은 문자 함수 LPAD 사용으로 오라클 서버에 의해 자동으로 문자 데이터 유형으로 변환 SELECT emp_name, position, LPAD(salary, 10, '*') FROM y_emp WHERE email LIKE '%k%'; 암시적 형변환, WHERE 절의 문자 100을 숫자 100으로..

날짜 함수 날짜를 인수로 사용하며 날짜 또는 숫자를 결과로 반환 함수 설명 MONTHS_BETWEEN(date1, date2) 두 날짜 사이의 달 수를 반환 ADD_MONTHS(date, n) 지정된 날짜에 n개월을 더한 날짜를 반환 NEXT_DAY(date, 'char') 지정된 날짜 이후 지정한 요일 ('char')에 해당하는 날짜를 반환 LAST_DAY(date) 지정된 날짜를 포함한 달의 말일을 반환 ROUND(date[,'f']) f에 지정된 단위로 반올림한 날짜를 반환 TRUNC(date[,'f']) f에 지정된 단위로 절삭한 날짜를 반환 날짜 함수의 반올림과 버림 ROUND 와 TRUNC 날짜를 가장 가까운 연도 또는 달로 반올림하거나 절삭 자릿수 대신 날짜의 단위에 해당하는 형식 모델을 지..