RANK() → 등수(순위)를 반환하는 함수 SELECT EMPNO "사원번호", ENAME "사원명", DEPTNO "부서번호", SAL "급여" , RANK() OVER(ORDER BY SAL DESC) "전체급여순위" -- (내림차순으로 순위) FROM EMP; --==>> /* 7839KING105000 1 7902FORD203000 2 : 7900JAMES30 95013 7369SMITH20 80014 */ PARTITION BY SELECT EMPNO "사원번호", ENAME "사원명", DEPTNO "부서번호", SAL "급여" , RANK() OVER(PARTITION BY DEPTNO ORDER BY SAL DESC) "부서별급여순위" , RANK() OVER(ORDER BY SAL DE..
VIEW 생성 CREATE OR REPLACE VIEW VIEW_SAWON -- (VIEW는 덮어쓰기 된다.) AS SELECT ~ FROM ~ ; ORA-01031: insufficient privileges 뷰를 생성하려는데 위와 같은 오류가 난다면 이는 권한이 부족하기 때문 그래서 SYS로 넘어가서 SYS로 부터 CREATE VIEW 권한을 부여받은 이후 다시 실행 SCOTT 계정에서 VIEW를 생성할 수 있는 권한 부여 CREATE VIEW GRANT CREATE VIEW TO SCOTT; SCOTT 계정으로부터 VIEW 를 생성할 수 있는 권한 박탈 REVOKE CREATE VIEW FROM SCOTT; 부족하거나 잘못된 내용이 있을 경우 댓글 달아주시면 감사하겠습니다. 이 글에 부족한 부분이 ..
CASE 구문(조건문, 분기문) CASE WHEN THEN ELSE END SELECT CASE 5+2 WHEN 4 THEN '5+2=4' ELSE '5+2는 몰라요' END FROM DUAL; --==>> 5+2는 몰라요 SELECT CASE 5+2 WHEN 7 THEN '5+2=7' ELSE '5+2=6' END FROM DUAL; --==>> 5+2=7 SELECT CASE 1+1 WHEN 2 THEN '1+1=2' WHEN 3 THEN '1+1=3' WHEN 4 THEN '1+1=4' ELSE '난 산수 싫어' END "RESULT" FROM DUAL; --==>> 1+1=2 SELECT CASE 1+1 WHEN 2 THEN '1+1=2' WHEN 3 THEN '1+1=3' WHEN 2 THEN ..
TO_CHAR() : 숫자나 날짜 데이터를 문자 타입으로 변환시켜주는 함수 TO_DATE() : 문자 데이터를 날짜 타입으로 변환시켜주는 함수 TO_NUMBER() : 문자 데이터를 숫자 타입으로 변환시켜주는 함수 ※ 날짜나 통화 형식이 맞지 않을 경우 설정값을 통해 세션을 설정하여 사용할 수 있다. ALTER SESSION SET NLS_LANGUAGE = 'KOREAN'; ALTER SESSION SET NLS_DATE_LANGUAGE = 'KOREAN'; ALTER SESSION SET NLS_CURRENCY = '\\'; ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD'; 날짜형 → 문자형 SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') -..
날짜 관련 세션 설정 변경 ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'; 날짜 연산의 기본 단위는 DAY(일수) SELECT SYSDATE "COL1" -- 2022-02-22 09:44:04 , SYSDATE + 1 "COL2" -- 2022-02-23 09:44:04 → 하루 뒤 , SYSDATE - 2 "COL3" -- 2022-02-20 09:44:04 → 이틀 전 , SYSDATE - 30 "COL4" -- 2022-01-23 09:44:04 → 30일 전 FROM DUAL; 시간 단위 연산 SELECT SYSDATE "COL1" -- 2022-02-22 09:46:21 , SYSDATE + 1/24 "COL2" -- 2022-02-..
ROUND() 반올림을 처리해주는 함수 SELECT 48.678 "COL1" -- 48.678 , ROUND(48.678, 2) "COL2" -- 48.68 (두 번째 파라미터 까지 유효한 표현이다) , ROUND(48.674, 2) "COL3" -- 48.67 , ROUND(48.674, 1) "COL4" -- 48.7 , ROUND(48.674, 0) "COL5" -- 49 , ROUND(48.674) "COL6" -- 49 -- 두 번째 파라미터 값이 0일 경우 생략 가능 , ROUND(48.674, -1) "COL7" -- 50 , ROUND(68.674, -2) "COL8" -- 100 , ROUND(48.674, -3) "COL9" -- 0 FROM DUAL; --==>> 48.67846.68..