본문 바로가기

분류 전체보기556

오라클 실습 3. 서브쿼리와 ROWNUM을 이용한 그룹화 되지 않는 함수에 그룹함수 적용하기. 그룹함수를 이용하기 위해서는 GROUP BY를 이용해 그룹화를 해야한다. 만약 이런 데이터가 있다고 가정하자. 이 데이터에서 만약 1~8까지의 사람 중 가장 높은 값을 기록한 사람과 나머지 사람중에서 가장 높은 값을 기록한 사람을 테이블로 나타내자고 한다. 이들은 서로 공통점이 없다. 어떻게 그룹화를 할 수 있을까? 이를 할 수 있게 하는 방법이 바로 ROWNUM이다. ROWNUM은 하드디스크나 메모리에서 데이터를 끌어올린 순서가 표시된다. 먼저 생각해낼 수 있는 방법은 WHERE절로 0~8까지, 그리고 9~20까지를 떨군 다음 따로따로 구해서 UNION ALL 로 합치는 것이다. 이 때, ROWNUM은 문제점이 생긴다. ROWNUM은 1부터 세지 않으면 중간부터 값을 찾을 수 없다. 그렇기 때문에 서브.. 2020. 3. 26.
7. 그룹함수 그룹함수는 수많은 열이 있는 데이터를 축소 - 그룹화 하는 함수를 의미한다. 기본적인 그룹함수는 다음과 같다. COUNT 입력되는 데이터의 총 건수를 출력 SUM 입력된 데이터의 합 출력 AVG 입력된 데이터의 평균 출력 MAX 입력된 데이터 중 최대값 출력 MIN 입력된 데이터 중 최소값 출력 또한 그룹함수끼리 비교연산하는 분석함수가 있다. ROLLUP 입력되는 데이터의 소계를 출력 PIVOT 특정 열의 값을 행으로 묶어 출력 LAG 지정된 값만큼 열을 내려서 출력 RANK 데이터의 순위를 나타내서 출력 데이터는 많은 행으로 이루어져 있다. 이런 많은 값의 데이터들을 하나로 합쳐주는 예시를 보자. 1. COUNT() CONUT 함수는 입력된 데이터가 총 몇개인지 세어주는 함수이다. select coun.. 2020. 3. 26.
6. 정규식을 이용한 함수 정규식이란 Unix의 검색 기술로, 메타문자들을 활용해 검색방법을 확장하는 것을 의미한다. 주로 사용하는 메타문자는 다음과 같다. ^ 해당문자로 시작하는 line 출력 (ex. ^Pattern') $ 해당문자로 끝나는 line 출력(ex. Pattern$) x...y x로 시작해서 y로 끝남 [] 해당 조건(문자)에 해당하는 한 문자 [^] 해당 조건(문자)에 해당하지 않는 한 문자 * 모든. (값이 0일수도 있음) 1. REGEXP_LIKE 예시를 보자. select * from REG_TEST where REGEXP_LIKE(text, '[A-Z]'); 다음과 같은 조건은 조건에 해당하는 문자가 들어 있는 line을 출력해준다. select * from REG_TEST where REGEXP_LIKE.. 2020. 3. 26.
5. 일반함수 숫자나 문자, 날짜에 관계 없이 모두 사용가능한 함수이다. 1. NVL NVL(컬럼,치환할 값) : 컬럼 내에서 null을 만났을 때, null을 지정값으로 치환해주는 함수. 예시를 보자. select NVL(null,0), NVL(100,0) from DUAL; 다음과 같이 null은 0으로 치환되었는데에 반해, 100은 그대로 100으로 출력되는 것을 볼 수 있다. 이를 이용한 예시는 다음과 같다. select ENAME, SAL, NVL(COMM,0) from EMP where NVL(COMM, 0) 2020. 3. 25.
반응형