개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* 사용 예
- 학생 테이블에서 학번이 20103인 학생의 데이터를 삭제하여라.


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* 데이터 삭제 개요
- DELETE 명령문은 테이블에 저장된 데이터 삭제를 위한 조작어
- WHERE 절을 생략하면 테이블의 모든 행 삭제 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* 서브쿼리를 이용한 데이터 수정 개요
- UPDATE 명령문의 SET 절에서 서브쿼리를 이용
- 다른 테이블에 저장된 데이터 검색하여 한꺼번에 여러 칼럼수정
- SET 절의 칼럼 이름은 서브쿼리의 칼럼 이름과 달라도 됨
- 데이터 타입과 칼럼 수는 반드시 일치

 

* 사용 예
- 서브쿼리를 이용하여 학번이 10201인 학생의 학년과 학과 번호를 10103 학번 학생의 학년과 학과 번호와 동일하게 수정하여라.

 

 

 

 

 

* 사용 예
- 서브쿼리를 이용하여 학번이 10201인 학생의 학년과 학과 번호를 10103 학번 학생의 학년과 학과 번호와 동일하게 수정하여라.

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

* 데이터 수정 개요
- UPDATE 명령문은 테이블에 저장된 데이터 수정을 위한 조작어
- WHERE 절을 생략하면 테이블의 모든 행을 수정

 

- WHERE 절을 생략하면 테이블의 모든 행을 수정
- Condition : 칼럼이름 , 표현식, 상수, 서브쿼리, 비교 연산자

 

 

* 사용 예
- 교수 번호가 9903인 교수의 현재 직급을 ‘부교수’로 수정하여라

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* PIVOTING INSERT 명령문

- OLTP(OnLine Transaction Processing) 업무에서 사용되는 데이터를 데이터웨어하우스 업무에서 사용되는 분석용 데이터로 변환하는 경우에 유용
- 하나의 행을 여러 개의 행으로 나누어서 입력하는 기능
- Unconditional INSERT ALL 명령문과 거의 동일
- INTO 절에서 하나의 테이블만 지정
- 예를 들면, 5개의 칼럼으로 구성된 요일별 판매 실적 데이터를 하나의 칼럼으로 통합할때 하나의 칼럼으로 통합된 판매 데이트의 요일을 구분하기 위하여 요일 구분 칼럼을 추가

 

 

 

 

* 사용 예
- PIVOTING INSERT 를 실습하기 위한 예제 테이블

 

* 사용 예
- PIVOTING INSERT 명령문을 사용하여 SALES 테이블의 요일별 데이터를 통합하여 SALES_DATA 테이블에 하나의 행으로 입력하여라.

 

 

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* Conditional-First INSERT 명령문
- 서브쿼리의 결과 집합에 대해 WHEN 조건절에서 지정한 조건을 만족하는 첫번째 테이블에 우선적으로 입력하기 위한 명령문
- 서브쿼리의 결과 집합중에서 조건을 만족하는 첫 번째 WHEN절 에서 지정한 테이블에만 입력하고 그외의 결과집합에서 나머지 WHEN절에 조건이 만족하면 첫번째 조건에 INSERT한 행을 제외하고 INSERT, 마지막에는 ELSE절에 정의된 TABLE에 INSERT

 

 

 

 

* 사용 예
- 학생 테이블에서 2학년 이상의 학생을 검색하여 height_info 테이블에는 키가 170보다 큰 학생의 학번, 이름, 키를 입력하고 weight_info 테이블에는 몸무게가 70보다 큰 학생의 학번, 이름, 몸무게를 각각 입력하여라. 단, 키가 170보다 작고, 몸무게가 70보다 큰 학생은 weight_info 테이블만 입력한다.

 

 

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

* Conditional INSERT ALL 명령문

 - 서브쿼리의 결과 집합에 대해 WHEN 조건절에서 지정한 조건을 만족하는 행을 해당되는 테이블에 각각 입력
- 서브쿼리에서 검색된 행을 만족하는 조건이 여러 개 일 경우 해당 테이블에 모두 입력
 - ALL : WHEN~THEN~ELSE의 조건을 만족하는 서브쿼리의 모든 검색 결과를 입력하기 위한 옵션
- WHEN 조건절 THEN : 서브쿼리의 결과 집합에 대한 비교 조건

 

 

- 서브쿼리의 결과 집합 중에서 조건절1을 만족하는 결과 행은 table1에 입력, 조건절 2을 만족하는 결과 행은 table2에 입력, 그리고 어느 조건절도 만족하지 않는 행은 table3에 입력

 

 

 

 

* 사용 예
- 학생 테이블에서 2학년 이상의 학생을 검색하여 height_info 테이블에는 키가 170보다 큰 학생의 학번, 이름, 키를 입력하고 weight_info 테이블에는 몸무게가 70보다 큰 학생의 학번, 이름, 몸무게를 각각 입력하여라.

 

 

 

 

 

 

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

* INSERT ALL(unconditional INSERT ALL) 명령문
- 서브쿼리의 결과 집합을 조건없이 여러 테이블에 동시에 입력
- 서브쿼리의 컬럼 이름과 데이터가 입력되는 테이블의 칼럼이 반드시 동일해야 함

ALL : 서브쿼리의 결과 집합을 해당하는 INSERT절에 모두 입력
FIRST : 서브쿼리의 결과 집합을 해당하는 첫번째 INSERT절에 입력
subquery : 입력 데이터 집합을 정의하기 위한 서브쿼리

 

 

 

 

 

 

* 사용 예
- 학생 테이블에서 2학년 이상의 학생을 검색하여 height_info 테이블에는 학번, 이름, 키, weight_info 테이블에는 학번, 이름, 몸무게를 각각 입력하여라.

 

 

+ Recent posts