오라클(5)
-
[SQL] 오라클 컬럼을 데이터로 바꾸는 UNPIVOT
UNPIVOT - UNPIVOT 오라클에서 가로 행의 데이터를 세로로 출력 *좌측의 테이블구조를 우측의 테이블구조로 조회되도록 함. - UNPIVOT 사용방법 'UNPIVOT 대상 테이블' 에서 기존 컬럼(속성)이 UNPIVOT시에는 데이터화되어 가로(로우)로 조회됨. 어떤 컬럼들을 조회할지 'IN' 절에 명시해야함. 'IN' 절에 명시되는 속성들은 모두 동일한 타입이어야함 (UNION ALL과 동일한 원리). 'FOR' 다음에는 'IN'절에서 명시한 컬럼을 조회시 어떤 명으로 조회될지 별칭을 지정. 'FOR' 전에는 'IN'절에서 명시한 컬럼의 실제 데이터가 조회될 때 어떤 명으로 조회될지 별칭을 지정 SELECT * FROM ( [UNPIVOT 대상 테이블] ) UNPIVOT [IN절에 명시할 컬럼의..
2023.02.02 -
[SQL] 오라클 계층형쿼리 START WITH ~ CONNECT BY
계층형쿼리란? 한 테이블에 레코드들이 계층관계(상위,하위)를 이루며 존재할 때, 이 관계에 따라 레코드를 계층관계(상위,하위)의 한 구조로 데이터를 가져올 때 사용되는 쿼리 계층형쿼리설명 예제데이터생성 [DEPTH_1] 동물 --[DEPTH_2] 포유류 ----[DEPTH_4] 사자 ----[DEPTH_5] 호랑이 ----[DEPTH_6] 치타 --[DEPTH_3] 조류 ----[DEPTH_7] 닭 ----[DEPTH_8] 비둘기 ----[DEPTH_9] 독수리 /* 예제테이블생성 */ CREATE TABLE ANI_DEPTH_TAB ( ANIMAL_DEPTH_CD VARCHAR2(8) NOT NULL PRIMARY KEY, PAR_ANIMAL_DEPTH_CD VARCHAR2(8), ANIMAL_NM V..
2023.01.30 -
[ORACLE] 계정생성 / 계정권한
cmd에서 sqlplus 접속 >sqlplus >sys >sys계정비밀번호입력 현재 DB에 생성된 계정 확인 >select * from all_users; //모든 계정에 대한 정보 확인 >select * from dba_users; //모든 계정에 대한 정보 확인 >select username from all_users; //모든 계정에 대한 이름 확인 >select username from dba_users; //모든 계정에 대한 이름 확인 사용자 계정 생성 >create [username] identified by [password]; 계정 비밀번호 변경 >alter user [username] identified by [new password]; 계정 권한 할당 사용자 계정 생성 후 생성된 계정에..
2020.11.24 -
[ORACLE] INDEX
인덱스? 인덱스는 검색 속도를 높이기 위해 사용하는 도구(인덱스를 사용한다고 무조건 빨라지는 건 아님) 오라클은 테이블 생성 시 인덱스를 따로 생성하지 않아도 primary key 또는 unique 제약 조건을 정의하면 자동으로 생성됨 행에 엑세스하는 속도를 높이기 위해 유저가 열의 비고유 인덱스를 생성할 수 있음 인덱스 사용해야 하는 경우 테이블 행의 갯수가 많은 경우 (찾아야할 데이터가 많은 경우) 인덱스를 적용한 컬럼이 where절에서 많이 사용되는 경우 join할 때 사용하는 컬럼(on 부모테이블.PK = 자식테이블.FK) 검색 결과가 원본 테이블 데이터 2~4%에 해당하는 경우 인덱스를 사용하면 안 좋은 경우 테이블의 행의 갯수가 적은 경우 검색결과가 원본테이블의 많은 비중을 차지하는 경우 원본..
2020.11.22 -
[ORACLE] 데이터타입
[문자형 데이터 타입] CHAR(n) : 고정길이 문자 / 최대 2000byte / 디폴트 값은 1byte VARCHAR2(n) : 가변길이 문자 / 최대 4000byte / 디폴트 값은 1byte NCHAR(n) : 고정길이 유니코드 문자(다국어 입력가능) / 최대 2000byte / 디폴트 값은 1byte NVARCHAR(n) : 가변길이 유니코드 문자(다국어 입력가능) / 최대 2000byte / 디폴트 값은 1byte LONG : 최대 2GB 크기의 가변길이 문자형 CLOB : 대용량 텍스트 데이터 타입(최대 4Gbyte) NCLOB : 대용량 텍스트 유니코드 데이터 타입(최대 4Gbyte) ex) 예를 들어 가변형 문자형 데이터타입인 VARCHAR2(10)이라는 데이터 공간을 할당하고 'abc'..
2020.08.13