sql
-
Oracle - ORDER BY / GROUP BY / HAVING데이터베이스/Oracle 2020. 11. 11. 17:05
ORDER BY ORDER BY란 SELECT한 컬럼에 대해 정렬을 할 때 작성하는 구문으로 SELECT 구문의 가장 마지막에 작성하며 실행 순서 역시 가장 마지막에 수행된다. [ 표현식 ] 정렬 방식은 ASC는 오름차순이고 DESC은 내림차순이다. 또는, 컬럼명이 아닌 컬럼의 순서를 숫자로 표기할 수 있다. [ ORDER BY 예시 ] - EMPLOYEE 테이블에서 부서별 코드, 부서별 급여합, 부서별 급여 평균, 부서별 인원 수를 부서코드 순으로 조회 SELECT DEPT_CODE, SUM(SALARY) "급여 합",FLOOR(AVG(SALARY)) "급여 평균", COUNT(*) "인원 수" FROM EMPLOYEE GROUP BY DEPT_CODE ORDER BY DEPT_CODE; GROUP B..
-
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; 논리 연산자 논리연산자란 여러 개의 제한 조건 결과를 하나의 논리..
-
DQL (SELECT)데이터베이스/Oracle 2020. 11. 6. 16:46
DQL DQL이란 Data Query Language의 약자로 데이터의 검색위한 데이터질의어이다. DQL안에 SELECT 라는 명령어가 있다. SELECT SELECT란 데이터를 조회한 결과를 Result Set이라고 하는데 SELECT구문에 의해 반환된 행들의 집합을 의미한다. Result Set은 0개 이상의 행이 포함될 수 있고 Result Set은 특정한 기준에 의해 정렬이 가능하다. 한 테이블의 특정 컬럼, 특정 행, 특정 행/컬럼 또는 여러 테이블의 특정 행/컬럼 조회가 가능하다. SELECT는 DQL과 DML에 속한다. [ SELECT 작성법 ] SELECT 컬럼명 [, 컬럼명, 컬럼명, ...] FROM 테이블 명 WHERE 조건식; SELECT : 조회하고자 하는 컬럼명 기술 - 여러 컬..