
Oracle 설치 ( Oracle database 설치, SQL developer 설치)
Oracle 의 기초, 데이터 정보 조회 및 명령어의 처리 순서, NULL 처리
1. From 테이블명 / 2. Where 조건절 / 3. group by 절 / 4. having 그룹함수조건절 / 5. select 컬럼명1, 컬럼명2 / 6. order by
명령어 처리 (Order by), 연산자, 현재시각, 테이블만들기
문자 함수 - upper, lower, initcap, substr, instr, reverse, lpad, rpad, ltrim, rtrim, trim, translate, replace, length
숫자 함수 - mod, round, trunc, power, sqrt, sin, cos, tan, asin, acos, atan, log, sign, ceil, floor, ascii, chr
날짜 함수 - add_months, months_between, last_day, next_day, to_yminterval, to_dsinterval
변환 함수- to_char('날짜','형태'), to_char(숫자,'형태'), to_date('문자','형태'), to_number(문자)
기타함수 - case when then else end, decide, table view(inline view, stored view), greatest, least, rank, dense_rank, lag, lead, 만나이, 정년퇴직일
그룹함수(집계함수) - sum, avg, max, min, median, count, variance, stddev
1차그룹, 2차그룹, rollup, cube, grouping sets, listagg
group by 의 조건을 나타내고 싶을 때 where 절이 아닌 having 그룹함수조건절을 사용
sum(누적되어야할 컬럼명) over(order by 누적되어질 기준이 되는 컬럼명 ascdesc ) // sum(누적되어야할 컬럼명) over(partition by 그룹화 되어질 컬럼명 order by 누적되어질 기준이 되는 컬럼명 ascdesc )
PIVOT 함수 : 기존 테이블 행을 열로 바꾸어 출력 // UNPIVOT 함수 : 기존 테이블 열을 행으로 바꾸어 출력 // Ex)직종ID 별, 부서번호별 인원수 (pivot)
select 문 속에 또 다른 select 문이 포함되어 있는 것 // Sub Query ( 서브 쿼리 ), Pairwise (쌍) Sub Query, 상관서브쿼리 ( == 서브상관쿼리 )
JOIN - SQL 1992 CODE 방식, SQL 1999 CODE 방식
조인조건절에 사용되는 컬럼의 값이 특정한 범위에 속할 때 사용하는 것 // 조인조건절에 between A and B 사용
SELF JOIN 주의사항 : 반드시 테이블(뷰)에 대한 alias(별칭)을 달리 주어야 한다 // Distinct : select 되어져 나온 결과물에서 행전체가 중복되는 경우 1개만 보이게 하는 기능
Database Link ( 데이터베이스 링크 ) 만들기
Multi Table JOIN //3개 이상의 테이블(뷰)을 가지고 JOIN
SET Operator 의 종류 : UNION, UNION ALL, INTERSECT, MINUS
UNION - 중복된 행 제거, 항상 오름차순 // UNION ALL - 중복된 행 제거 X, 정렬 X
INTERSECT : 테이블(뷰)과 테이블(뷰)가 겹치는 부분을 보여주는 것 // MINUS : 테이블(뷰)에서 다른 테이블(뷰)와 겹치는 부분을 제외하고 보여주는 것
rowid : 오라클이 내부적으로 사용하기 위해 만든 id 값 (행에 대한 id),고유한 값 // rownum : 게시판 등 웹에서 많이 사용, 행번호는 기본적으로 insert 되어진 순서대로 나온다.
페이징처리 공식 : where RNO between (조회하고자하는페이지번호 * 한페이지당보여줄행의개수) - (한페이지당보여줄행의개수 - 1) and (조회하고자하는페이지번호 * 한페이지당보여줄행의개수);
start with 컬럼명1 = 값 connect by prior 컬럼명2 = 컬럼명3 // => 컬럼명1이 값과 같을때, 컬럼명2는 컬럼명3과 동일하다. // => null 값이 나오기 전까지 반복
SQL 의 문법 종류 : DML, DDL, DCL, TCL, DQL
데이터베이스 링크 생성, 확인, 삭제하기
데이터 조작어 (DML) 종류 : insert, update, delete, merge특징 : 수동 commit, rollback 가능
DQL(Data Query Language) 종류 : select // TCL(Transaction Control Language)의 종류 : commit, rollback
ROLLBACK TO SAVEPOINT : 특정 시점까지 rollback, oracle 만 가능
Flashback query ( 타임머신 ) : as of timestamp(systimestamp - interval '숫자' minute);
DDL(Data Definition Language) 데이터 정의어 // 종류 : create, drop, alter, truncate // 특징 : Auto commit
DCL(Data Control Language) 데이터 제어어 // 종류 : grant, revoke // 특징 : Auto commit
- 숫자로 이루어져 있으며, 매번 정해진 증가치만큼 숫자 증가
Synonym : create or replace synonym 동의어 for 원래이름; // Constraint(제약조건)의 종류 - Primary key 제약, Unique 제약, Foreign key 제약, Check 제약, NOT NULL 제약
제약조건 활성화,비활성화 // 컬럼 추가, 삭제 // 컬럼을 추가하는데 NOT NULL 이어야 하는 경우(테이블에 데이터가 있는 경우, 데이터가 없는 경우)
Console 갱신 : 오라클 설치한지 6개월이 지나면 자동적으로 사용자명 A의 암호가 만료되어 갱신해야 한다.
F.K 컬럼명과 부모테이블명과 참조를 당하는 P.K(U.K)에 해당하는 컬럼명 조회, 테이블에 존재하는 foreign key 컬럼명과 부모테이블명과 참조를 당하는 primary key(unique key)에 해당하는 컬럼명을 조회
테이블명에 대한 주석문 달기, 컬럼명에 대한 주석문 달기, 휴지통
SQL 문도 있지만 PL/SQL (프로시저) 를 사용하는 이유 -> 속도
PL/SQL(Procedure Language / Structured Query Language)
Procedure 변수사용법 추가 3가지
func_gender, func_age, func_퇴직일
Exception 정의내리기 사용자가 정의해주는 Exception 에 대해서는 오류번호 -200001 ~ -20999 까지 가능
기본 LOOP문 // FOR LOOP문 // WHILE LOOP 문
요일명 월,화,수,목,금 오후 2시~ 오후 5시(정각은 안됨)
1단계 - CURSOR 의 선언(정의) // 2단계 - CURSOR 의 OPEN // 3단계 - CURSOR 의 FETCH // 4단계 - CURSOR 의 CLOSE

DB 데이터 옮기기 - SQL Developer