목록Oracle (5)
어흥
1. MERGE INTO 사용 이유 - 한번에 INSERT, UPDATE를 처리하고 싶을 때 사용 즉, 이미 존재하는 경우 : UPDATE 존재하지 않는 경우: INSERT 2. 예시 [Table 2개를 비교할 때] MERGE INTO EMPLOYEE E USING( SELECT ID ,USERNAME ,PNUM ,ADDRESS ,DEPTNO FROM NEW_EMPLOYEE WHERE HIREDATE>=TO_DATE('20200801','YYYYMMDD') AND HIREDATE
1. 정의 - DB Object 중 하나로, 식별자들을 관리하기 편하도록 기능 제공 - 목적으론, 중복되지 않는 숫자를 반환하며 삭제 or 수정하여 중간에 값이 비게 될 수도 있다 2. 생성, 수정, 삭제 [생성] CREATE SEQUENCE SEQ--SEQ: 사용할 시퀀스명 START WITH 1--1부터 시작 INCREMENT BY 1;--1씩 증가 위에 사용한 초기설정말고도 MAXVALUE, MINVALUE, CYCLE, CACHE 등 여러가지가 존재한다 [수정] ALTER SEQUENCE SEQ INCREMENT BY 2;--증가값을 2로 변경 이외에도 MAXVALUE, MINVALUE, CYCLE, CACHE 모두 변경 가능하다. 단! 초기값은 변경하지 못한다 [삭제] DROP SEQUENCE ..
1. 정의 : 인덱스는 DB 테이블에 있는 데이터를 빨리 찾기 위한 용도의 DB 객체이며, 일종의 색인기술이다 2. 특징 - 테이블에 Index를 생성하게 되면 Index Table을 생성해서 관리 - Index는 테이블에 있는 1개 이상의 Column을 이용해서 만들 수 있다 3. 선언 CREATE INDEX IDX_TEST ON EMPLOYEE(ID,NAME,SALARY);--IDX_TEST INDEX 생성 SELECT * FROM USER_INDEXES WHERE TABLE_NAME = 'IDX_TEST';--생성한 인덱스들 조회 DROP INDEX IDX_TEST--IDX_TEST INDEX 삭제 4. Plan을 통한 일반호출 v.s 인덱스를 통한 호출 비교 EMPLOYEE Table에 약 180..
1. Plan이란? - CBO(Cost Based Optimizer: 최소의 비용으로 최대 효과를 추구) 방식에서 Optimizer가 사용자에게 추천해주는 최적화된 계획(Plan) - 대체적으로 괜찮은 Plan을 제공하지만, Plan은 완벽하지 않아서 항상 의심을 해야한다 2. Plan 결과화면 정리 1) Select문을 통해 원하는 쿼리 수행 2) 결과화면 확인 Cost = 440K: 440,000 비용발생 Card(Cardinality) = 13M: 13,000,000건의 접근하는 레코드 수 Bytes = 1G: 1,000,000,000(Card * 1Row의 총 길이) 결과화면에 'Access (Full)'이 출력되었다면 -> 전체 접근으로 지양해야 하는 쿼리문 위의 결과화면이 뜨는 이유 - 해당 ..
1. SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY를 이용한 기본 문법 SELECT * FROM employee --Table명 WHERE salary > 10000--조건절 GROUP BY dept--묶을 단위 HAVING sum(salary) > 1000000--그룹에 대한 조건절 ORDER BY id--정렬 방법(default: asc -> 오름차순) 2. DATE의 연/월/일 추출 Column명: birthday(2020.07.08)이라고 가정 EXTRACT(YEAR FROM birthday)-- 2020출력 EXTRACT(MONTH FROM birthday)-- 7출력 EXTRACT(DAY FROM birthday)-- 8출력 3. 수학기능 --단순 연산 ..