본문 바로가기

SQL

오라클 그룹함수(MAX,MIN,SUM,AVG ,COUNT) 그룹함수: MAX,MIN,SUM,AVG COUNT(*):전체 행의 수를 구한다. *안에 칼럼명을 쓰면 NULL인 경우를 제외한다. SELECT MAX(SAL), MIN(SAL), SUM(SAL),AVG(SAL),COUNT(*) FROM EMP; SELECT SUM(COMM), AVG(COMM), COUNT(COMM) FROM EMP; -->AVG(COMM)하면 값을 가지고 있는 4명의 평균이 구해진다. NULL값은 제외된다 -->NULL은 연산이나 함수에서 배제된다. SELECT SUM(COMM), TRUNC(AVG(NVL(COMM,0))), COUNT(COMM) FROM EMP; ->AVG(NVL(COMM,0)) 이렇게 NULL값을 0으로 해주면 전체 평균이 구해진다 더보기
오라클의 ELSE-IF(DECODE 함수, CASE 함수) DECODE 함수 ->같은 조건만 사용 가능, 이상-이하는 불가능하다 SELECT ENAME, DEPTNO, DECODE(DEPTNO, 10, '영업부', 20,'총무부', 30,'인사부', 40,'비서부') DNAME FROM EMP; ->DEPTNO가 10이면 '영업부', 20이면 '총무부', 30이면 '인사부', 40이면 '비서부' 예제)JOB이 CLERK인 경우 5%인상, MANAGER는 15%인상하여 검색 SELECT ENAME, JOB, DECODE(JOB, 'CLERK', SAL+(SAL*0.05), 'MANAGER',SAL+(SAL*0.15), SAL) NEWSAL ->나머지(ELSE) 부분 FROM EMP; CASE 함수: CASE WHEN 조건 THEN 결과 ELSE 나머지 것들 END.. 더보기
오라클 변환 함수(D데이) ,NVL(널값 변환) TO_CHAR: 숫자 또는 날짜를 문자열로 변환 TO_DATE: 문자를 날짜형으로 변환 TO_DATE('2019-12-31','YYYY/MM/DD')-sysdate ->D데이 구할때 쓰는 방식 TO_NUMBER: 숫자로 변환 SELECT ENAME, TO_CHAR(SAL, 'L999,999') FROM EMP; L은 지역화폐, 0은 자리수가 없으면 0을 붙이고 9는 있으면 찍고 없으면 안찍음 NVL(NULL값,변환할 수): NULL을 숫자로 변환 SELECT ENAME, SAL, COMM, SAL*12+NVL(COMM,0) FROM EMP; NVL(COMM,0) -> COMM의 NULL값이 있으면 0으로 취급한다. 더보기
오라클 함수 LPAD, RPAD, LTRIM, RTRIM, 날짜 함수 LPAD, RPAD : 빈곳을 채워주는 함수 SELECT LPAD(DEPTNO,5,'A') FROM EMP; -> DEPTNO를 5글자로 지정하고 빈곳을 A로 채워라 SELECT RPAD(DEPTNO,5,'A') FROM EMP; LTRIM, RTRIM : 왼쪽, 오른쪽에서 문자열 추출 SELECT LTRIM('테스트입니다') AS ONE FROM DUAL; SELECT LTRIM('테스트입니다','테스트') AS ONE FROM DUAL; -->'테스트입니다'에서 왼쪽부터 '테스트' 글자가 있으면 추출 SELECT LTRIM('테스트입니다','스트') AS ONE FROM DUAL; 날짜 함수 select sysdate-1/24 from dual; select ename, round(TO_DATE('2.. 더보기
오라클 함수 ROUND, TRUNC, MOD, upper, lower, LENGTH, SUBSTR ROUND 함수: 소수점 반올림 함수 SELECT ROUND(45.678,1) FROM DUAL; --반올림, 45.678을 소수 2째 자리에서 반올림한다 결과 : 45.7 TRUNC 함수: 소수점 자르는 함수 SELECT TRUNC(45.999) FROM DUAL; --소수점 무조건 자른다 결과: 45 MOD 함수: 나머지 구하는 함수 mod(11,2) : 11을 2로 나눈 나머지 -> 1이 나온다 사원번호가 홀수인 사원 검색 SELECT * FROM EMP WHERE MOD(EMPNO,2)0; ->나머지가 0이면 짝수 1이면 홀수 문자 처리 함수(upper,lower) --upper(문자)는 대문자로 lower(문자)는 소문자로 바꿔준다. SELECT ENAME,SAL FROM emp WHERE up.. 더보기