●뷰(view)

- 하나 또는 그 이상의 테이블이나 뷰를 이용하여 생성되는 논리적인 테이블로 실제 데이터는 저장하지 않는다.

테이블의 전체 데이터중 일부칼럼, 일부 레코드만 보여주는 역할을 한다. 데이터의 보안과 사용편의성 때문에 사용한다.


ex)

create view test_view

as select empno, ename, sal from emp

where deptno=10;


select * from test_view;





ex)

create view test_view2

as 

select deptno, avg(sal) avg, sum(sal) sum from emp

group by deptno;


select * from test_view2;








'프로그래밍 > DB' 카테고리의 다른 글

오라클 뷰(view)  (0) 2015.09.02
오라클 시퀀스(sequence)  (0) 2015.09.02
오라클 계층형 쿼리  (0) 2015.09.02
오라클 테이블 복사하기  (0) 2015.09.02
오라클 union, minus  (0) 2015.09.02
오라클 각종 함수들2  (0) 2015.09.02
Posted by -현's-

댓글을 달아 주세요


●시퀀스(sequence)

- 다중 사용자 환경에서 사용하는 숫자를 자동 생성한다. 테이블 또는 컬럼과는 독립적으로 생성,삭제된다.


- ex)

create sequence seq_test;              --시퀀스 생성

select seq_test.currval from dual;    --시퀀스 현재 번호 조회

select seq_test.nextval from dual;    --시퀀스 다음 번호 조회












'프로그래밍 > DB' 카테고리의 다른 글

오라클 뷰(view)  (0) 2015.09.02
오라클 시퀀스(sequence)  (0) 2015.09.02
오라클 계층형 쿼리  (0) 2015.09.02
오라클 테이블 복사하기  (0) 2015.09.02
오라클 union, minus  (0) 2015.09.02
오라클 각종 함수들2  (0) 2015.09.02
Posted by -현's-

댓글을 달아 주세요


●계층형 쿼리

- 계층 관계가 있는 칼럼(외래키로 자기자신 테이블을 참조)이 있는 경우 계층 구조를 이용하여 데이터를 추출

- 형식

select 칼럼

from 테이블

start with 조건

connect by [prior] [nocycle] 

ex)

select empno, ename, mgr, connect_by_root ename, sys_connect_by_path(ename, '/')

from emp

start with mgr is null

connect by prior empno = mgr;


ar

ex)

select level,lpad(' ',(level-1)*2,' ')||ename, sal,deptno

from emp

start with ename = 'KING'

connect by prior empno = mgr;







'프로그래밍 > DB' 카테고리의 다른 글

오라클 뷰(view)  (0) 2015.09.02
오라클 시퀀스(sequence)  (0) 2015.09.02
오라클 계층형 쿼리  (0) 2015.09.02
오라클 테이블 복사하기  (0) 2015.09.02
오라클 union, minus  (0) 2015.09.02
오라클 각종 함수들2  (0) 2015.09.02
Posted by -현's-

댓글을 달아 주세요


●테이블 복사하기

- create table 테이블명 as select 컬럼명 from 테이블명;




●데이터를 포함하지 않고 구조만 복사

- create table 테이블명 as select 컬럼명 from 테이블명 where 1=0;



'프로그래밍 > DB' 카테고리의 다른 글

오라클 시퀀스(sequence)  (0) 2015.09.02
오라클 계층형 쿼리  (0) 2015.09.02
오라클 테이블 복사하기  (0) 2015.09.02
오라클 union, minus  (0) 2015.09.02
오라클 각종 함수들2  (0) 2015.09.02
오라클 각종 함수들1  (0) 2015.08.28
Posted by -현's-

댓글을 달아 주세요


union

- 연결된 select문의 결과 합을 보여준다. 중복된 것은 하나만 보유준다.



union all

- union과 같이만 중복된 것이 있어도 모두 보여준다.



minus

- 연결된 select문의 결과 차를 보여준다.




●ex

-select * from test;




-select * from test2;




-select * from test

union

select * from test2;




-select * from test

union all

select * from test2;




-select * from test

minus

select * from test2;





'프로그래밍 > DB' 카테고리의 다른 글

오라클 계층형 쿼리  (0) 2015.09.02
오라클 테이블 복사하기  (0) 2015.09.02
오라클 union, minus  (0) 2015.09.02
오라클 각종 함수들2  (0) 2015.09.02
오라클 각종 함수들1  (0) 2015.08.28
오라클 칼럼 별명(alias), 합성연산자(||)  (0) 2015.08.28
Posted by -현's-

댓글을 달아 주세요


●TO_CHAR

- 숫자나 날짜형 자료를 문자로 변환한다.

ex)select to_char(8000000,'999,999,999'), to_char(sysdate,'yyyy/mm/dd'),to_char(sysdate,'yyyymmdd') from dual;






●NVL(a,b)

- a 데이터가 null일 경우 b로 변환해서 출력한다.

ex)select comm, nvl(comm,'0') from emp;








●DECODE(a, b, c,d)

- 조건함수이다. a데이터가 b와 같으면 c를 출력, 아니면 d를 출력한다.

ex)select comm, decode(comm, 300, '300입니다', '300이 아닙니다') from emp;







●CASE~WHEN

- decode함수와 비슷하지만 좀더 직관적인 함수이다.

ex)select deptno, 

(case deptno 

when 10 then 'a'

when 20 then 'b'

when 30 then 'c'

else 'x'

end) deptno2

from emp;








Posted by -현's-

댓글을 달아 주세요


●length

- 인수의 길이를 반환한다.

ex)select length('1234') from dual;





●lower

- 인수를 소문자로 변환한다.

ex)select lower('ABCD') from dual;




●upper

- 인수를 대문자로 변환한다.

ex)select upper('abcd') from dual;




●lpad

- 인수의 왼쪽을 입력한 자리수가 되도록 입력한 문자로 채운다.

ex)select lpad('111',5,0) from dual;





●trim

- 인수의 좌우 공백을 제거한다.

ex)select trim(' ABC ') from dual;






●substr

- 인수의 문자열을 잘라낸다

ex)select substr('ABC',0,2) from dual;






●avg

- 칼럼의 평균을 구한다.

ex)select avg(sal) from emp;






●max,min

- 칼럼중 가장 큰값,작은값을 구한다.

ex)select max(sal),min(sal) from emp;






●sum

- 칼럼의 합을 구한다.

ex)select sum(sal) from emp;






●sysdate

- 현재 날짜를 구한다.

ex)select sysdate from dual;







Posted by -현's-

댓글을 달아 주세요


●컬럼별명(alias)

- 컬럼 이름을 쓰고 공백 다음에 별명을 지어주거나 as를 사용하거나 큰따옴표를 사용하여 별명을 지어준다.

ex)select job, job jj, job as jj2, job "jj3" from emp;







●합성연산자(||)

- 하나의 칼럼과 문자열 또는 다른 칼럼을 연결시킨다.

ex)select empno||'-'||ename||'-'||job from emp;







Posted by -현's-

댓글을 달아 주세요


select 칼럼명 from 테이블명;

- 칼럼명부문에 웬만하면 * 를 사용하지 말고 칼럼명을 적어주는게 좋다(서버 부하를 줄이기 위해)

ex)select deptno from emp;





●distinct

- 컬럼에서 중복을 제거하고 같은 값이면 하나만 출력한다.

ex)select distinct(deptno) from emp;






●group by

- 특정 칼럼을 기준으로 한 그룹으로 묶어서 합계, 평균, count 등에서 사용한다.

ex)select deptno, avg(sal), sum(sal) 

from emp

group by deptno;






●having

- group by 기준 칼럼,그룹핑 함수에 조건을 건다.

ex)select deptno, avg(sal), sum(sal) 

from emp

group by deptno

having avg(sal)<2000;






●order by

- 데이터를 정렬한다. 데이터를 메모리에 올려놓고 정렬을 진행하기 때문에 대용량 테이블에서는 사용을 자제하고 인덱스나 오라클 힌트 등을 사용하는게 좋다.

ex)select deptno 

from emp

order by deptno;
















Posted by -현's-

댓글을 달아 주세요


●select name from v$database

- 데이터베이스명 확인







●select instance from v$thread

- sid 확인






 

●select * from v$version

- 현재 데이터베이스 버전 확인














Posted by -현's-

댓글을 달아 주세요