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

 

 

 

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

 

 

 

* 사용 예


- 학생 테이블에서 학과번호가 ‘101’이 아닌 학생의 학번과 이름과 학과번호를 출력해라

 

 

 

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

 

 

 

 

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

 

 

* 사용 예
- 학생 테이블에서 1학년이거나 몸무게가 70kg 이상인 학생만 검색하여

이름, 학년, 몸무게, 학과번호를 출력하여라.

 

 

 

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

 

 

 

 

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

 

 

* 논리 연산자
- WHERE 절에서 여러 개의 조건을 결합할 경우
- AND, OR, NOT과 같은 논리 연산자를 사용

 

​AND 논리 연산자를 이용한 조건 검색 예

* 사용 예
- 학생 테이블에서 1학년 이면서 몸무게가 70kg 이상인 학생만 검색하여

이름, 학년, 몸무게, 학과번호를 출력하여라.

 

 

 

 

 

 

 

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

 

 

 

 

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

 

 

비교 연산자
WHERE 절에서 숫자, 문자, 날짜의 크기나 순서를 비교하는 연산자

 

 

​사용 예
학생 테이블에서 몸무게가 70kg 이하인 학생만 검색하여

학번, 이름, 학년, 학과번호, 몸무게를 출력하여라.

 

 

 

 

 

 

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

 

 

 

 

 

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

 

 

 

WHERE절
- 테이블에 저장된 데이터중에서 원하는 데이터만 선택적으로 검색하는 기능
- WHERE 절의 조건문은 칼럼 이름, 연산자, 상수, 산술 표현식을

결합하여 다양한 형태로 표현 가능
- WHERE 절에서 사용하는 데이터 타입은 문자, 숫자, 날짜 타입 사용 가능
- 문자와 날짜 타입의 상수 값은 작은 따옴표(‘’)로 묶어서 표현하고

숫자는 그대로 사용
- 상수 값에서 영문자는 대소문자를 구별

 

 

사용 예
학생 테이블에서 1학년 학생만 검색하여 학번, 이름, 학과 번호를 출력하여라

 

 

 

 

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

 

 

 

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

 

 

 

데이터 타입의 결정 전략

* 응용 프로그램 개발 시 오류 감소
* SQL 명령문의 검색 성능에 영향
* 문자형 데이터

- 데이터의 길이가 가변인지, 고정인지 고려
* 데이터가 숫자인 경우
- 숫자 데이터 타입 또는 문자형 데이터 타입으로 지정할지 고려
* 데이터가 날짜 타입인 경우
- 문자 데이터 타입으로 지정하는 편이 효율적

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

 

 

 

 

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

 

 

 

* DUAL테이블은 데이터 딕셔너리와 함께 Oracle에 의해 자동으로 생성되는 테이블 입니다.

 

- DUAL테이블은 사용자 SYS의 스키마에 있지만 모든 사용자는

DUAL이라는 이름으로 엑세스 할 수 있습니다.

- DUAL테이블은 VARCHAR2(1)으로 정의된 DUMMY라는 하나의 열이 있으며

값을 가지는 하나의 행도 포함되어 있습니다.

- DUAL테이블은 사용자가 계산이나 사용자 함수등을 실행하고자 할 경우에 유용 합니다.

 

 

* ​아래와 같은 명령을 실제로 사용하는 개발자(또는 DBA)의 수가 얼마나 될 것이라 생각하십니까?

select USER into <some variable> from DUAL

아마 거의 모든 이들이 사용하고 있을 것입니다. DUAL은 호출될 때마다 새로운 논리적 I/O(Buffer I/O)를 생성합니다. 이 기능은 매우 유용하게 활용됩니다.
DUAL은 <somevariable> := USER와 같은 구문만큼이나 자주 사용되고 있습니다.
하지만 오라클 코드는 DUAL을 특수한 형태의 테이블로서 취급하며,

따라서 일반적인 튜닝 방법은 적용할 수 없다는 문제가 있습니다.

 

Oracle Database 10g에서라면 이에 관련한 걱정은 할 필요가 없습니다.
DUAL이 특수한 테이블이기 때문에, 논리적 I/O를 나타내는 consistent gets의 값도 줄어들며, event 10046 trace에서 확인할 수 있는 것처럼 optimization plan도 다른 형태로 나타납니다.

Oracle 9i에서 사용되는 DUAL의 FULL TABLE SCAN 대신,
10g에서는 FAST DUAL optimization plan을 사용하고 있다는 점을 주목하시기 바랍니다. 이러한 기능 개선을 통해 DUAL 테이블을 자주 사용하는 애플리케이션의 연속적인 읽기 작업 성능이 대폭적으로 향상되었습니다. ​

 

 

 

 

 

 

 

 

 

 

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

 

 

 

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

 

 

 

개요

DATE 타입의 확장된 형태로서 백만분의 일초 단위까지 표현 가능
milli second 의 기본 값은 6자리, 최대 9자리까지 사용 가능

 

종류


TIMESTAMP WITH TIME ZONE
TIMESTAMP 데이터 타입에 지역 시간대(time zone)를 함께 저장
지역 시간대는 세계 표준시간대(universal time)의 표준 시간을 기준으로 현 지역 시간대를 환산한 것
TIMESTAMP WITH LOCAL TIME ZONE
사용자 데이터베이스의 지역 시간대를 따름
지역 시간대를 다른 곳으로 옮겨도 TIME ZONE 를 변경할 필요는 없음

 

 

 

사용 예
- TIMESTAMP 데이터 타입을 포함한 테이블을 생성하고

데이터를 입력하여라

 

 

 

+ Recent posts