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 |