Oracle
-
Oracle - 서브쿼리(SUBQUERY) - Part 1데이터베이스/Oracle 2020. 11. 16. 14:27
SUBQUERY SUBQUERY란 SELECT 문장 안에 포함된 또 다른 SELECT 문장으로 메인 쿼리가 실행되기 전 한 번만 실행된다. 비교 연산자의 오른쪽에 기술해야 하고 반드시 괄호로 묶어야 한다. 서브쿼리와 비교할 항목은 반드시 서브쿼리의 SELECT한 항목의 개수와 자료형을 일치시켜야 한다. 즉, 메인퀘리 SELECT문을 보조하는 역할로 사용하는 SELECT문이다. [ SUBQUERY 예시 ] 전 직원의 평균 급여보다 많은 급여를 받고 있는 직원의 사번, 이름, 직급코드 ,급여 조회 SELECT EMP_ID, EMP_NAME, JOB_CODE, SALARY FROM EMPLOYEE WHERE SALARY >= (SELECT AVG(SALARY) FROM EMPLOYEE); -- 서브쿼리 예시 ..
-
Oracle 함수(Function) - 그룹 함수데이터베이스/Oracle 2020. 11. 11. 16:29
그룹 함수 그룹함수란 하나 이상의 행을 그룹으로 묶어 연산하며 총합, 평균 등을 하나의 컬럼으로 반환하는 함수이다. 여러가지 그룹 함수를 알아보자 SUM SUM이란 해당 컬럼 값들의 총합을 반환한다. [ SUM 예시 ] - EMPLOYEE테이블에서 남자 사원의 급여 총합 조회 SELECT SUM(SALARY), FROM EMPLOYEE WHERE SUBSTR(EMP_NO, 8, 1) = 1; - EMPLOYEE테이블에서 부서코드가 D5인 직원의 보너스 포함 연봉 조회 SELECT SUM(SALARY + (SALARY*NVL(BONUS, 0))*12) FROM EMPLOYEE WHERE DEPT_CODE = ‘D5’; AVG AVG란 해당 컬럼 값들의 평균을 반환한다. [ AVG 예시 ] - EMPLOYE..
-
Oracle 함수(Function) - NULL 처리 함수와 선택 함수데이터베이스/Oracle 2020. 11. 11. 12:49
NULL 처리 함수 NULL 처리 함수란 해당 컬럼값이 NULL인 경우 대체값을 사용하는 함수이다. NULL 처리 함수의 NVL과 NVL2 를 알아보자 NVL NVL이란 NULL로 되어 있는 컬럼의 값을 인자로 지정한 숫자 혹은 문자로 변경하여 반환한다. - P1 : NULL데이터를 처리할 컬럼명 혹은 값 - P2 : NULL값을 대체하고자 하는 값 [ NVL 예시 ] SELECT EMP_NO, EMP_NAME, SALARY, NVL(BONUS, 0), -- BONUS가 Null값이면 0으로 (SALARY + (SALARY * NVL(BONUS, 0)))*12 FROM EMPLOYEE; NVL2 NVL2란 컬럼명이 NULL이 아닌 경우 대체 하고자 하는 값을 적고 NULL인 경우 대체 하고자 하는 값을 ..
-
Oracle 함수(Function) - 형 변환 함수데이터베이스/Oracle 2020. 11. 11. 11:46
형 변환 함수 형 변환 함수란 날짜 또는 숫자형 데이터를 문자형으로 바꾸어 주거나 문자형 데이터를 숫자 데이터로 형변환 해준다. 즉, 이렇게 숫자를 문자로, 문자를 날짜로 형변환 하거나 날짜를 문자로, 문자를 숫자로 형변환 할 수 있다. 이제 TO_CHAR, TO_DATE, TO_NUMBER을 알아보자! TO_CHAR TO_CHAR란 날짜 혹은 숫자형 데이터를 문자형 데이터로 변환하여 반환한다. - DATE : 문자형으로 변환하려는 날짜형 데이터 - NUMBER : 문자형으로 변환하려는 숫자형 데이터 - FORMAT : 문자형으로 변환 시 지정할 출력 형식 FORMAT 날짜 데이터를 문자형 데이터로 바꾸기위해선 FORMAT 형식을 알아야 한다. [ TO_CHAR 예시 ] 날짜를 문자로 형변환 SELECT..
-
Oracle 함수(Function) - 날짜 처리 함수데이터베이스/Oracle 2020. 11. 10. 17:28
날짜 처리 함수 여러가지 날짜 처리 함수를 알아보자 SYSDATE SYSDATE란 시스템에 저장되어 있는 현재 날짜를 반환한다. [ SYSDATE 예시 ] SELECT SYSDATE FROM DUAL; MONTHS_BETWEEN MONTHS_BETWEEN란 인자로 날짜 두 개를 전달받아 개월 수 차이를 숫자 데이터형으로 반환한다. - DATE1 : 기준이 되는 날짜 - DATE2 : 개월 수를 구하려는 날짜 [ MONTHS_BETWEEN 예시 ] - EMPLOYEE테이블에서 사원의 이름, 입사일, 근무 개월 수 조회 SELECT EMP_NAME, HIRE_DATE, MONTHS_BETWEEN(SYSDATE, HIRE_DATE) FROM EMPLOYEE; ADD_MONTHS ADD_MONTHS란 인자로 전..
-
Oracle 함수(Function) - 숫자 처리 함수데이터베이스/Oracle 2020. 11. 10. 17:02
숫자 처리 함수 여러가지 숫자 처리 함수를 알아보자 ABS ABS란 인자로 전달 받은 숫자를 절대값으로 반환한다. - NUMBER : 숫자 혹은 숫자 데이터 컬럼 [ ABS 예시 ] MOD MOD란 인자로 전달 받은 숫자를 나누어 나머지를 반환한다. - NUMBER : 숫자 혹은 숫자 데이터 컬럼 - DIVISION : 나눌 수 혹은 나눌 숫자 데이터 컬럼 [ MOD 예시 ] ROUND ROUND란 인자로 전달 받은 숫자 혹은 컬럼에서 지정한 위치부터 반올림하여 값을 반환한다. - NUMBER : 숫자 혹은 숫자 데이터 컬럼 - POSITION : 반올림할 위치(생략 시 기본 값 0) [ ROUND 예시 ] FLOOR FLOOR이란 인자로 전달 받은 숫자 혹은 컬럼에서 소수점 자리의 수를 내림한 후 반환..
-
Oracle - 연결 연산자 / 논리 연산자 / 비교 연산자데이터베이스/Oracle 2020. 11. 6. 17:46
연결 연산자 연결 연산자란 ‘||’ (키보드 shift + 달러표시)를 사용하여 여러 컬럼을 하나의 컬럼인 것처럼 연결하거나 컬럼과 리터럴을 연결한다. 연결 연산자를 사용해야할 방법이 2가지가있다. 1. 컬럼과 컬럼을 연결한 경우 - 컬럼명1과 컬럼명2 사이에 || 를 입력한다. 2. 컬럼과 리터럴을 연결한 경우 - 컬럼명과 리터럴 사이에 || 를 입력한다. [ 연결연산자 예시 ] 컬럼과 컬럼을 연결한 경우 SELECT EMP_ID || EMP_NAME || SALARY FROM EMPLOYEE; 컬럼과 리터럴을 연결한 경우 SELECT EMP_NAME || '의 월급은 ' || SALARY || '원 입니다.' FROM EMPLOYEE; 논리 연산자 논리연산자란 여러 개의 제한 조건 결과를 하나의 논리..