본문 바로가기

분류 전체보기

INDEX 123456789101112131415161718192021222324252627282930313233343536-- index(색인)-- index는 원하는 정보의 위치를 빠르고 정확하게 알아낼 수 있는 방법이다.-- 자동생성 : Primary, Unique-- 수동생성 : Query로 만들어야 함 /*-- 생성해야 좋은 경우1. WHERE 절이나 JOIN조건 안에 자주 사용되는 컬럼2. NULL 값이 많이 포함되어 있는 컬럼-- 생성했을 때 안좋은 경우1. 테이블이 작을 때 (ROW가 10000개 이하일 경우)2. 테이블이 자주 갱신 될 때*/ CREATE TABLE EMP_COPYASSELECT *FROM EMPLOYEES; -- INDEX 자동생성(PK)ALTER TABLE EMP_COPYADDC.. 더보기
SEQUENCE 1234567891011121314151617181920212223242526272829303132333435363738394041424344-- sequence : 유일한 값을 생성해 주는 오라클 오브젝트다.-- 회원번호, 게시판 글번호( 1 -> 2 -> 3 ) ++증가연산-- 시퀀스를 생성하면,Primary key와 같이 순차적으로-- 증가하는 column을 자동적으로 생성할 수 있다.-- 독립적-- 시퀀스는 초기화가 불가능 -> 삭제 후 다시 생성해야함 -- sequence/* int count = 1; count++; -> 1 2 3 4 5*/ -- SEQUENCE 삭제DROP SEQUENCE TEST_SEQ; -- SEQUENCE 사용CREATE SEQUENCE TEST_SEQINCREMENT.. 더보기
VIEW (가상 테이블) 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889-- VIEW : 가상 테이블-- VIEW는 실제 저장되는 것이 아니다.-- 한개의 VIEW로 여러개의 데이터를 검색하는 것이 가능하다.-- 제한을 설정할 수 있다. readonly-- 다양하고 빠른 조회가 가능 CREATE VIEW UV_TEST_01(JOB_ID,JOB_TITLE,MIN_SALARY,MAX_SALARY)ASSELECT *FROM JOBS; -- VIEW를 통해서 JOBS 테이블을 보고 있.. 더보기
UPDATE, DELETE, INSERT 및 예제(hr) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127-- UPDATECREATE TABLE TB_JOBS_BKASSELECT * FROM JOBS; SELECT * FROM TB_JOBS_BK; UPDATE TB_JOBS_BK SET MIN_SALARY = 0WHERE JOB.. 더보기
Table 및 제약조건 예제(hr) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869-- 문제1) EMPLOYEES 테이블에서 부서별로 -- 인원수,평균 급여,급여의 합,최소 급여,최대 급여를 -- 포함하는 EMP_DEPTNO 테이블을 생성하라.CREATE TABLE EMP_DEPTNOASSELECT DEPARTMENT_ID "부서 번호",COUNT(DEPARTMENT_ID) "인원수",ROUND(AVG(SALARY)) "평균 급여",SUM(SALARY) "급여의 합",MIN(SALARY) "최소 급여",MAX(SALARY) "최대 급여"FROM EMPLOYE.. 더보기
제약 조건 정리 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816.. 더보기
Table 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697-- 테이블 스페이스 수정ALTER TABLESPACE TABLESPACE1RENAME TO TEST_TABLE_TBS_NEW; --파일의 크기 수정ALTER DATABASEDATAFILE 'c:\TEST\MYTABELSPACE' RESIZE 7M; CREATE TABLESPACE TABLESPACE2DATAFILE 'C:\TEST\TEST_TBS_102.DBF' SIZE 10M.. 더보기
특수 Query 예제(scott) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263-- 33) 각 사원의 이름을 표시하고 근무 달 수(입사일로부터 현재까지의 달수)를 계산하여-- 열 레이블을 MONTHS_WORKED로 지정하시오. 결과는 정수로 반올림하여 표시하고 근무달 수를-- 기준으로 오름차순으로 정렬하시오.(MONTHS_BETWEEN 참고)SELECT ENAME,ROUND(MONTHS_BETWEEN(SYSDATE,HIREDATE)) AS MONTHS_WORKEDFROM EMPORDER BY MONTHS_WORKED ASC; -- 34)emp테이블에서 이름, 업무, 근무연차를.. 더보기
특수 Query 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120-- 특수Query-- CASESELECT EMPLOYEE_ID, FIRST_NAME, PHONE_NUMBER, CASE SUBSTR(PHONE_NUMBER, 1, 3) -- 스위치 케이스문과 기능이 비슷함 WHEN '515' THEN '서울' WHEN '590.. 더보기
SubQuery 예제(scott) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122-- 60) BLAKE와 같은 부서에 있는 사원들의 이름과 입사일을 구하는데 -- BLAKE는 제외하고 출력하시오.(BLAKE가 여러명일 수 있음) SELECT ENAME, HIREDATE FROM EMP WHERE DEPTNO IN ( SELECT .. 더보기