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

 

 

 

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

 

 

* 개요
- 테이블에 데이터를 입력하기 위한 명령인 INSERT 명령문 사용
- 데이터 입력 방법
단일 행 입력 : 한번에 하나의 행을 테이블에 입력하는 방법
다중 행 입력 : 서브쿼리를 이용하여 한번에 여러 행을 동시에 입력하는 방법

 

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

 

 

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

 

 

* 데이터 조작어 (DML:Data Manpulation Language)란?
- 테이블에 새로운 데이터를 입력하거나 기존 데이터를 수정 또는 삭제하기 위한 명령어
* 종류
- INSERT : 새로운 데이터 입력 명령어
- UPDATE : 기존 데이터 수정 명령어
D- ELETE : 기존 데이터 삭제 명령어
- MERGE : 두개의 테이블을 하나의 테이블로 병합하는 명령어
* 트랜잭션
- 여러 개의 명령문을 하나의 논리적인 작업단위로 처리하는 기능
- 트랜잭셔 관리 명령어
COMMIT : 트랜잭션의 정상적인 종료를 위한 명령어
ROLLBACK : 트랜잭션의 비정상적인 중단을 위한 명령어 

 

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

 

 

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

 

 

SQL: 1999 Scalar Subquery

 

Scalar Subquery는 질의 수식으로부터 유도된 Scalar 값 지정하기 위해 사용
Oracle8i 에서는 다음과 같이 제한된 경우에만 지원


 Insert 문장의 VALUES List, 데이터 형 생성자에 대한 인자
Oracle9i에서 Scalar 서브 쿼리는 유효한 수식이 쓰일 수 있는 모든 곳에서 사용 가능
Scalar Subquery는 오직 하나의 값만 반환
반환되는 값의 데이터 형은 서브 쿼리에서 선택된 데이터 형과 일치
소량의 데이터의 경우에는 효과적이나 대량의 데이터의 경우 성능 저하 가능
Scalar Subquery의 사용 

 

 

 

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

 

 

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

 

 

 

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

 

 

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

 

 

* 서브쿼리의 결과가 NULL인 경우

 

 

* 사용 예
- 2002년에 입사한 교수의 평균 급여보다 많은 급여를 받는 교수의 교수 번호, 이름, 급여를 출력하여라.

 

 

 

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

 

 

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

 

 

 

* ​ORDER BY 절 사용
- 서브쿼리 내에서 ORDER BY 절 사용하면 오류 발생

 

 

 

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

 

 

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

 

 

 

 

* 메인쿼리와 서브쿼리 칼럼의 수가 일치하지 않는 경우


* 사용 예
- 101번 학과 교수 중에서 최소 급여를 받는 교수의 이름, 직급, 급여를 출력하여라.

 

 

 

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

 

 

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

 

 

* ​단일행 서브쿼리에서 오류가 발생하는 경우
- 복수 행 값을 반환하는 서브쿼리와 단일행 비교연산자 함께 사용하는 경우
- 반환되는 칼럼의 수와 메인쿼리에서 비교되는 칼럼 수가 일치하지 않는 경우
- 복수행을 출력하는 서브쿼리와 ‘=‘단일행 연산자로 비교하는 경우 

 

 

+ Recent posts