'Oracle'에 해당되는 글 5건

  1. 2014.07.28 ppt
  2. 2013.08.16 오라클 ROWNUM 2
  3. 2013.08.16 오라클 조인(JOIN)
  4. 2013.08.16 오라클 그룹함수 사용
  5. 2013.08.16 오라클 함수 사용

ppt

Oracle 2014. 7. 28. 09:04 |

'Oracle' 카테고리의 다른 글

오라클 ROWNUM  (2) 2013.08.16
오라클 조인(JOIN)  (0) 2013.08.16
오라클 그룹함수 사용  (0) 2013.08.16
오라클 함수 사용  (0) 2013.08.16
Posted by 꼬렙
:

오라클 ROWNUM

Oracle 2013. 8. 16. 11:46 |
오라클에서 테이블을 생성하면 ROWID, ROWNUM 컬럼이 자동으로 생성

ROWID : 테이블의 특정 레코드로 랜덤하게 접근하기 위한 논리적인 주소값

ROWNUM : 오라클 내부적으로 처리하기 위한 각 레코드에 대한 일련번호




ROWNUM은 정렬 옵션이 적용되기 전에 생성되므로 아래와 같이 순서가 뒤죽박죽으로 출력



따라서 제대로된 결과를 조회하기 위해서는 아래와 같이 서브쿼리(인라인뷰)를 이용하여

원하는 결과를 먼저 정해놓은 다음 ROWNUM을 새로 적용


ROWNUM 실습

[5]ORACLE_ROWNUM_실습.pdf

[5]ORACLE_ROWNUM_실습_풀이.txt















'Oracle' 카테고리의 다른 글

ppt  (0) 2014.07.28
오라클 조인(JOIN)  (0) 2013.08.16
오라클 그룹함수 사용  (0) 2013.08.16
오라클 함수 사용  (0) 2013.08.16
Posted by 꼬렙
:

오라클 조인(JOIN)

Oracle 2013. 8. 16. 11:34 |

- JOIN : 2개 이상의 테이블을 조합하여 필요한 데이터를 가져오는 방법

            조인을 사용하지 않고 원하는 결과를 얻으려면 여러번 쿼리문을 작성


SELECT E.EMPNO

           , E.ENAME

           , E.DEPTNO

           , D.DNAME

           , D.LOC

   FROM EMP E, DEPT D

 WHERE E.DEPTNO = D.DEPTNO;


ㆍINNER JOIN

SELECT [ 테이블 1. 컬럼 ], [ 테이블 2. 컬럼]

   FROM [ 테이블 1], [ 테이블 2]

 WHERE [ 테이블 1. 컬럼 ]  =  [ 테이블 2. 컬럼 ];


SELECT [ 테이블 1. 컬럼 1],  [ 테이블 2. 컬럼 1]

   FROM [ 테이블 1]  

     JOIN  [ 테이블 2]

        ON [ 테이블 1. 컬럼 ]  =  [ 테이블 2. 컬럼]


SELECT  E.*,  D.*

   FROM  EMP  E,  DEPT D

 WHERE  E.DEPTNO  =  D.DEPTNO;


SELECT  E.*,  D.*

   FROM  EMP  E  

     JOIN  DEPT D

       ON  E.DEPTNO  =  D.DEPTNO;


ㆍOUTER JOIN : 2개 이상의 테이블에서 데이터가 매칭되지 않아도 함께 출력


위와 같은 형태의 데이터를 조인하면 아래와 같이 매칭되는 데이터만 출력되는 문제가 생김



모든 데이터가 매칭되지 않아도 데이터를 출력할 필요가 있을때 OUTER JOIN 사용


ㆍLEFT OUTER JOIN 

SELECT D1.*, D2.*

   FROM DEPT D1, DEPT D2

 WHERE D1.DEPTNO = D2.DEPTNO (+);

※  (+)  :  외부  조인 연산자


SELECT D1.*, D2.*

   FROM DEPT01 D1 

    LEFT  OUTER  JOIN DEPT02 D2

       ON D1.DEPTNO = D2.DEPTNO;

 


ㆍRIGHT OUTER JOIN 

SELECT D1.*, D2.*

   FROM DEPT D1, DEPT D2

 WHERE D1.DEPTNO (+) = D2.DEPTNO; ;


SELECT D1.*, D2.*

   FROM DEPT01 D1 

   RIGHT  OUTER  JOIN DEPT02 D2

       ON D1.DEPTNO = D2.DEPTNO;



ㆍFULL OUTER JOIN 

SELECT D1.*, D2.*

   FROM DEPT01 D1 

    FULL  OUTER  JOIN DEPT02 D2

       ON D1.DEPTNO = D2.DEPTNO;

※  FULL  OUTER  JOIN 은  (+)  외부  연산자  사용 불가



JOIN 실습

[4]ORACLE_JOIN_실습1.pdf

[4]ORACLE_JOIN_실습1_DATA.txt

[4]ORACLE_JOIN_실습1_풀이.txt

[4]ORACLE_JOIN_실습2.pdf

[4]ORACLE_JOIN_실습2_DATA.txt

[4]ORACLE_JOIN_실습2_풀이.txt







'Oracle' 카테고리의 다른 글

ppt  (0) 2014.07.28
오라클 ROWNUM  (2) 2013.08.16
오라클 그룹함수 사용  (0) 2013.08.16
오라클 함수 사용  (0) 2013.08.16
Posted by 꼬렙
:

오라클 그룹함수 사용

Oracle 2013. 8. 16. 11:20 |

ㆍSUM : 합계

SELECT SUM(SAL)

   FROM EMP;


AVG : 평균

SELECT AVG(SAL)

   FROM EMP;


ㆍMAX : 최대값 

SELECT MAX(SAL)

   FROM EMP;


ㆍMIN : 최소값

SELECT MIN(SAL)

   FROM EMP;


ㆍCOUNT : 개수

SELECT COUNT(SAL)

   FROM EMP;



'Oracle' 카테고리의 다른 글

ppt  (0) 2014.07.28
오라클 ROWNUM  (2) 2013.08.16
오라클 조인(JOIN)  (0) 2013.08.16
오라클 함수 사용  (0) 2013.08.16
Posted by 꼬렙
:

오라클 함수 사용

Oracle 2013. 8. 16. 11:11 |

- 숫자 관련 함수

ㆍ ABS : 절대값

SELECT ABS(-10)

   FROM DUAL;


 FLOOR : 버림

SELECT FLOOR(12.567)

   FROM DUAL;


 ROUND(대상, 자리수) : 반올림

SELECT ROUND(12.567)

   FROM DUAL;


SELECT ROUND(12.567, 2)

   FROM DUAL;


SELECT ROUND(12.567, -1)

   FROM DUAL;


 TRUNC : 특정 자리 잘라냄

SELECT TRUNC(12.345, 2)

           , TRUNC(12.345, -1)

           , TRUNC(12.345)

   FROM DUAL;


ㆍMOD : 나머지

SELECT MOD(17, 3)

   FROM DUAL;


- 문자 관련 함수

ㆍUPPER : 대문자 변환

SELECT UPPER('testuser')

   FROM DUAL;


ㆍLOWER : 소문자 변환

SELECT LOWER('TESTUSER')

   FROM DUAL;


ㆍINITCAP : 이니셜만 대문자 변환

SELECT INITCAP('TESTUSER HOMEPAGE')

   FROM DUAL;


ㆍLENGTH : 문자열 길이

SELECT LENGTH('TESTUSER')

           , LENGTH('테스트사용자')

   FROM DUAL;


ㆍSUBSTR(대상, 시작위치, 추출길이) : 문자열 일부 추출

SELECT SUBSTR('Welcome to testuser', 5, 2)

   FROM DUAL;


SELECT SUBSTR('Welcome to testuser', -5, 2)

   FROM DUAL;


ㆍINSTR(대상, 찾을문자, 시작위치, 발견되는위치인덱스) : 특정 문자 위치

SELECT INSTR('Welcome to testuser', 'e', 6, 3)

   FROM DUAL;


ㆍLPAD(대상, 채울길이, 채울문자) : 왼쪽을 특정 문자로 지정한 길이만큼 채움

SELECT LPAD('testuser', 20, '@')

   FROM DUAL;


ㆍRPAD(대상, 채울길이, 채울문자) : 오른쪽을 특정 문자로 지정한 길이만큼 채움

SELECT RPAD('testuser', 20, '@')

   FROM DUAL;


ㆍLTRIM : 왼쪽 공백문자 제거

SELECT LTRIM('       testuser')

   FROM DUAL;


ㆍRTRIM : 오른쪽 공백문자 제거

SELECT RTRIM('testuser       ')

   FROM DUAL;


ㆍTRIM : 양쪽 공백문자 제거

SELECT TRIM('       testuser       ')

   FROM DUAL;


ㆍREPLACE : 문자 변환

SELECT REPLACE('testuser', 't', 'T')

   FROM DUAL;


ㆍCONCAT : 문자열 결합

SELECT CONCAT('Welcome to', ' testuser')

   FROM DUAL;


※ || (파이프라인)을 사용해도 동일한 결과

SELECT 'Welcome to' || ' testuser'

   FROM DUAL;


- 날짜 관련 함수

ㆍSYSDATE : 현재 날짜

SELECT SYSDATE

   FROM DUAL;


SELECT SYSDATE-1    -- 어제

           , SYSDATE+1    -- 내일

   FROM DUAL;


ㆍMONTHS_BETWEEN : 날짜 사이 간격(월 단위)

SELECT MONTHS_BETWEEN(SYSDATE, '20130101')

   FROM DUAL;


ㆍADD_MONTHS : 특정 일자에 월 단위로 더함

SELECT ADD_MONTHS(SYSDATE, 6)

   FROM DUAL;


ㆍLAST_DAY : 해당 달의 마지막 날짜

SELECT LAST_DAY(SYSDATE)

   FROM DUAL;


- 형 변환 관련 함수

ㆍTO_CHAR : 문자형으로 변환

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD')

   FROM DUAL;


SELECT TO_CHAR(1234, '0000000000')

   FROM DUAL;;


SELECT TO_CHAR(1234, '999,999')

   FROM DUAL;


ㆍTO_NUMBER : 숫자형으로 변환

SELECT TO_NUMBER('20000') - 300

   FROM DUAL;


ㆍTO_DATE : 날짜형으로 변환

SELECT MONTHS_BETWEEN(SYSDATE, TO_DATE('20130101', 'YYYYMMDD'))

   FROM DUAL;


 NVL : NULL을 지정한 값으로 변환

SELECT NVL(NULL, 'EMPTY')

   FROM DUAL;


- 조건 함수

ㆍDECODE(표현식, 조건1, 결과1, 조건2, 결과2, ..., 조건n, 결과n, 디폴트결과)

SELECT DECODE(10, 10, 'A', 20, 'B', 30, 'C', 'D')

   FROM DUAL;


ㆍCASE

SELECT CASE 10 

             WHEN 10 THEN 'A'

             WHEN 20 THEN 'B'

             WHEN 30 THEN 'C'

             ELSE 'D' END

   FROM DUAL;


SELECT CASE

             WHEN DEPTNO=10 THEN 'A'

             WHEN DEPTNO=20 THEN 'B'

             WHEN DEPTNO=30 THEN 'C'

             ELSE 'D' END

   FROM EMP;


FUNCTION 실습

[3]ORACLE_FUNCTION_실습.pdf

[3]ORACLE_FUNCTION_실습_풀이.txt

[2]ORACLE_CRUD_실습3.pdf

[2]ORACLE_CRUD_실습3_풀이.txt

[2]ORACLE_CRUD_실습4.pdf

[2]ORACLE_CRUD_실습4_풀이.txt








'Oracle' 카테고리의 다른 글

ppt  (0) 2014.07.28
오라클 ROWNUM  (2) 2013.08.16
오라클 조인(JOIN)  (0) 2013.08.16
오라클 그룹함수 사용  (0) 2013.08.16
Posted by 꼬렙
: