Dev/DB

[Oracle] 정리(1)

2013. 10. 20. 18:49

ORACLE




 emp 테이블의 구성

 dept 테이블의 구성

 ename : 사원 이름

 job : 직급

 mgr : 매니저 번호

 hiredate : 고용 날짜

 sal : 연봉

 comm : 상여금

 deptno : 부서 번호

 deptno : 부서 번호

 dname : 부서 이름

 loc : 부서 위치





SELECT 절


- 산술 연산자(+, -, *, /)

- 컬럼에 대한 별칭

- concatenation 연산자 : 특정 문자를 넣어줌

- Distinct 키워드 : 중복되는 데이터를 한번만 표시



SQL*Plus 명령어


- ED : 명령어 편집


- LIST, L : 이전 실행한 명령어 보기


- /, RUN : 이전 실행한 명령어 재실행


- SAVE 파일명 : 명령어 저장


- @파일명 : 저장한 명령어 실행


- GET 파일명 : 저장한 명령어 버퍼로 갖고오기


- HOST, EXIT : CMD를 통해 데이터베이스가 설치된 폴더로 이동, 종료


- SPOOL 파일명// SPOOL OFF : 실행 후, 실행되는 결과 내용을 파일명에 실시간 저장 // 저장 끝내기


형식 지정 명령어


COLUMN 컬럼 HEADING '이름' : 해당 컬럼의 이름을 지정한 이름으로 변경

COLUMN 컬럼 CLEAR : 지정한 이름 해제

COLUMN 컬럼 FORMAT [0,000,000, A20, 99999] : 데이터 출력 형식을 지정함. A20은 문자열 길이를 20자로 설정, 99999 는 원상복귀





WHERE 절


- 비교연산자(=, <, >) : 문자열, 날짜데이터에 사용


- LIKE 연산자 : 특정 문자, 문자열을 검색할 때 (% : 와일드 카드, _ : 한 글자 찾기)

ex) SELECT * FROM emp WHERE ename ='%A%'; => ename에 A가 포함되는 레코드 검색


- ESCAPE 연산자 : 특정 문자를 제외하고 검색할 때


- IN 연산자 : 여러개의 갑 중 하나일 경우를 검색할 때 ex) comm IN (300, 500, 1400)


- 컬럼 BETWEEN A AND B : 컬럼의 값이 A와 B의 사이인 경우를 검색할 때


- 논리 연산자 : AND, OR, NOT



ORDER BY 절


- 특정 컬럼을 기준으로 정렬할 때 이용

- 오름차순(ASC), 내림차순(DESC) 으로 정렬 가능





SQL 주요 함수


* 간단한 산술연산을 할 때 DUAL 테이블을 이용


숫자 함수 : 


ROUND(데이터, 숫자), TRUNC(데이터, 숫자), MOD(데이터, 숫자) : 반올림, 버림, 나머지


문자처리 함수 : 


UPPER(문자열), LOWER(문자열), INITCAP(문자열) : 대문자, 소문자, 앞글자만 대문자로 변환


LENGTH(문자열) : 문자열 길이


INSTR(문자열, 문자, 어디부터, 횟수), SUBSTR(문자열, 어디부터, 몇 글자) : 특정문자 출현 위치, 특정문자 


LPAD(문자열, 자리, 특정 문자) : 오른쪽 정렬 후 왼쪽 빈 공백에 특정문자 삽입

RPAD(문자열, 자리, 특정 문자) : 왼쪽 정렬 후 오른쪽 빈 공백에 특정문자 삽입


LTRIM(문자열, [문자]) : 왼쪽 특정문자 삭제

RTRIM(문자열, [문자]) : 오른쪽 특정문자 삭제


날짜 관련 함수 :


MONTHS_BETWEEN(날짜, 날짜) : 날짜와 날짜 사이의 개월 수


ADD_MONTHS(날짜, 개월) : 날짜에 개월을 더함


NEXT_DAY(날짜, 요일) : 해당 날짜로 부터 다음 요일이 언제인지


LAST_DAY(날짜 ,요일) : 해당 날짜가 속한 달의 마지막 요일이 언제인지


형변환 함수 :


TO_DATE(문자, 형식) : 문자를 형식에 맞춰 날짜로 변환하여 출력 ex) TO_DATE('13/10/20', 'YY/MM/DD')


TO_CHAR(문자, 형식) : 숫자 값을 문자 형식으로 변환하여 출력 ex) TO_CHAR(SYSDATE, 'YY/MM/DD HH:MI:SS')


NVL(널 값이 있는 컬럼, 0) : 널(NULL) 값을 0으로 변환


조건 분기 함수 : 


DECODE (컬럼, 조건, 반환값, ... N조건, N반환값) : 컬럼의 값이 조건에 해당하면 값을 반환


CASE WHEN 조건 THEN 반환 ...

ELSE 반환

END : 컬럼의 값이 조건에 해당하면 값을 반환




그룹 함수


COUNT, SUM, AVG, MIN, MAX가 있다.


GROUP BY 절 : 특정 컬럼의 같은 값 끼리 묶어서 처리


HAVING 절 : GROUP BY 절을 통해 나온 값에 조건을 걸 때




조인


EQUI JOIN : 공통된 컬럼의 값이 일치되는 행을 연결하여 결과를 생성


ex) SELECT ename, dname, e.deptno, d.deptno

FROM emp e, dept d

WHERE e.deptno = d.deptno;


NON-EQUI JOIN : 컬럼이 특정 범위 내에 있는지 조사 하기위해 사용


ex) SELECT e.ename, e.sal, s.grade

FROM emp e, salgrade s

WHERE e.sal >= s.losal AND e.sal <= s.hisal;

(WHERE e.sal BETWEEN s.losal AND s.hisal)


SELF JOIN : 테이블의 특정 컬럼이 자신의 다른 컬럼의 값을 가리킬 때 사용


OUTER JOIN : SELFT JOIN 에서 나오지 않는 행을 출력할 때( 조건에 맞지 않더라도 출력)


ex) SELECT e.ename, m.ename

FROM emp e, emp m

WHERE e.mgr = m.mgr (+); 




'Dev > DB' 카테고리의 다른 글

ms-SQL 두 번째 수업  (0) 2014.03.17
ms-SQL 첫 번째 수업  (0) 2014.03.10
[Oracle] 오라클을 해보자  (0) 2013.11.26
[Oracle] 계정 생성 및 삭제 (DDL)  (0) 2013.11.19
[Oracle] PPT 자료  (0) 2013.10.15