Oracle 18일차

어제 문제 수업 내용 —- [pivot/unpivot] — 1. pivot — long data->wide data — 2. unpivot — wide data->long dataselectfrom 테이블명 또는 서브쿼리unpivot(value컬럼명 for stack컬럼명 in (컬럼1, 컬럼2,…)); — [top n 쿼리] — – 상위 n개 행 추출 (페이징 처리) — 1. rownum — 출력되는 행의 순서에 따라 임시의 행번호를 부여— 첫번째 행이 출력이 된 … Read more

Oracle 17일차

어제 문제 수업 내용 — [집계함수] — 1. sum — 누적합 연산 범위. 특히 between 생략한 누적합4는 함 보기— between 생략 시 between A and B 에서 A만 전달함. — [기타 윈도우 함수] — 1. ntile — 정해진 n개 그룹으로 행을 나눌 때 사용— 나누어 떨어지지 않으면 앞쪽 그룹에 더 많이 배치— 100행을 3개 그룹으로 … Read more

Oracle 16일차

어제 문제 수업 내용 — [정규식 표현(Regular Expression)] — 1. regexp_substr(대상,패턴[,시작위치,발견횟수(1),옵션,서브그룹번호]) — 2. regexp_replace(대상,패턴[,바꿀문자열,시작위치,발견횟수(0=모든),옵션]) — 3. regexp_instr(대상,패턴[,시작위치,발견횟수(1)]) — 4. regexp_count(대상,패턴[,시작위치,옵션]) — 5. regexp_like(대상,패턴[,옵션]) — 리턴은 참, 거짓이고 where절에서만 사용가능 — [윈도우 함수] — 테이블 추가 접근(조인,서브쿼리) 없이 다른행과의 비교, 연산을 가능하게 하는 문법— select 절에서만 사용가능. where절 사용불가. — 1. 집계함수 형태 — min,max,sum,count,avg…over(…) — … Read more

Oracle 15일차

어제 문제 수업 내용 — [정규식표현(regexp)] — 문자열 패턴을 간소화하여 공통 패턴을 가진 문자열을 추출, 삭제, 조회하기 위한 표현식 — 1) 문자/숫자/특수기호 표현 — \d : 숫자— \w : 글자(숫자,문자) + _— \s : 공백— \t : 탭— \n : 엔터— [[:digit:]] : 숫자— [[:alpha:]] : 문자— [[:alnum:]] : 숫자+문자— [[:punct:]] : 특수기호— [[:blank:]] : … Read more

Oracle 14일차

어제 문제 수업 내용 — 6. 권한 — 데이터를 조회, 수정할 수 있는 권한 관리— 일반적으로 소유하지 않은 테이블에 대한 조회, 수정 권한이 없음 => 필요한 권한 부여 시 가능— 오브젝트 권한 -> 직접회수 불가능, 간접회수 가능— 시스템 권한 -> 직접회수 가능, 간접회수 불가능— 정리: 오브젝트 권한은 간접회수 해야되고, 시스템권한은 직접회수 해야된다.— 시스템권한이 중요하니깐 직접회수, … Read more

Oracle 13일차

어제 문제 수업 내용 — 3. synonym — 공식적으로 부여하는 테이블 별칭— 보통 스키마.테이블명으로 조회하는 대신 테이블명만으로 조회되도록 설정하기 위해 사용— 굉장히 자주 사용 — 예) 인사팀과 총무팅이 따로 있고 인사팀에 사원테이블이 존재할 때— 총무팀이 권한있는 상태에서 select * from 사원; 하면 조회 안됨— 그때 시노님을 ‘사원’으로 부여하면 select * from 사원;을 해도 ‘인사팀.사원’으로 취급돼서 … Read more

Oracle 12일차

어제 문제 수업 내용 — [제약조건] — 1. 정의 — : 테이블에 저장되는 데이터의 입력/수정/삭제를 제한하기 위해 테이블의 각 컬럼마다 정의하는 객체 — 2. 종류 — 1) primary key— 2) unique— 3) not null— 4) check— 5) foreign key — 3. 생성 — 1) 테이블 생성 시 정의 가능 create table table1(col1 number [default 값] … Read more

Oracle 11일차

어제 문제 수업 내용 — [DML] — 1. insert— 2. update update 테이블명set 수정할 컬럼 = 수정할 값 — 서브쿼리 사용 가능where 수정할 조건; — 서브쿼리 사용 가능— 주의사항 : 수정할 값은 반드시 각 행별로 하나의 값으로 정의되어야 함 — 다중 컬럼 수정)update 테이블명set 수정할 컬럼1=수정할 값1, 수정할 컬럼2 = 수정할 값2,…where 수정할 조건; update … Read more

Oracle 10일차

어제 문제 수업 내용 — [with문] — 쿼리 내 임시 테이블을 만드는 문법(해당 쿼리에서만 유효, 실제 저장되지는 X)— 쿼리의 가독성을 높이기 위해 사용— select문에서 주로 사용(dml에서도 사용가능) — 문법— with 임시테이블명(컬럼1,컬럼2,…)— as— (select …) — 저장하고자하는 데이터 형태 정의— sql 문장; — 임시테이블을 사용하여 처리할 sql문장 — [DDL] — 1. CREATE— 2. DROP — 3. … Read more

Oracle 9일차

어제 문제 수업 내용 — [서브쿼리] — 1. 단일행 서브쿼리 — 2. 다중행 서브쿼리 — 3. 다중컬럼 서브쿼리 — 4. 상호연관 서브쿼리 — 5. 인라인 뷰 — from절에 쓰는 서브쿼리— 하나의 테이블처럼 사용 — 어제 문제에서 movie를 가공해서 movie2, movie3를 만들었음— 연령대별 이용비율이 높은 성별 확인— ->연령대별, 성별, 이용비율을 출력한 뒤에야 확인가능— 한 번에 다루기엔 … Read more