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

 

 

 

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

 

 

 NULL 의 이해

 

 

 

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

 

 

 

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

 

 


 

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

 

 

 

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

 

 

NULL 개념
- NULL은 미확인 값이나 아직 적용되지 않은 값을 의미
- 0도 아니며 스페이스도 아닌 정의되지 않은 값
- NULL 값과 다른값과의 연산 결과는  NULL

 

- NULL은 단독으로 인덱스를 사용할 수 없으므로 가능한 정의가능한 값(특정값)으로 정한다면 ( ‘0’,’99’ 등 ) 인덱스를 이용할 수 있다.
- 그렇다고 생각없이  NULL을 특정 값으로 변환하는 것은 향후 큰 문제를 일으킬 수 있으므로 주의 깊게 사용해야 함.

* 예
- 학생 테이블에서 학생의 몸무게가 NULL인 경우 그 학생의 몸무게가 0이라는 의미가 아니라 현재 시점에서 그 학생의 몸무게를 모른다는 의미
- 학생 테이블에서 학생의 지도교수 코드가 NULL인 경우에는 그 학생은 아직 지도교수가 배정되지 않았음을 의미

 

 

 

정의
- 컬럼에 아무런 값이 없을 경우, 컬럼은 null 상태라고 이야기를 함 또는 null을 포함했다고 정의함
- null 은 어떠한 not null 또는 Primary key 제약조건을 포함하지 않는 경우 모든 컬럼의 모든 데이터 타입에서도 나타날 수 있음
- null은 값을 알 수 없거나 아무런 의미가 없을 경우 사용됨
- null 값을 0(zero)을 나타내는데 사용하지는 말것

(null과 0은 동일한 값이 아님)

* 참조
- 오라클 데이터베이스는 현재 길이가 ‘0’인 값에 대하여는 문자형 값(character value)은 null로 취급함
- 그러나 그러나 이러한 부분은 향후 버전에서도 동일하게 인식되지 않을 수 있음
- 따라서 공백 문자열과 null 값을 동일하게 처리하지는 말아야 함

 

* SQL 함수 상에서의 null
- 모든 스칼라 함수들은(REPLACE, NVL, CONCAT는 제외) null 변수를 입력 받았을 경우 null 값 리턴이 가능함
- 대부분의 집계(Aggregate) 함수는 null 무시하고 수행됨
- 1000, NULL, NULL, NULL, 2000 에 대한 AVG는 1500으로 리턴됨 


 

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

 

 

 

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

 

 


* ESCAPE 옵션
- ESCAPE 옵션은 LIKE 연산자에서 사용하는 와일드 문자(%, _)자체를 포함하는 문자열을 검색할 때, 와일드 문자를 일반 문자처럼 취급하기 위한 옵션

 

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

 

 

 

 

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

 

 

* LIKE 연산자
- 칼럼에 저장된 문자열중에서 LIKE 연산자에서 지정한 문자 패턴과 부분적으로 일치하면 참이 되는 연산자

* 사용 예
 - 학생 테이블에서 성이 ‘김’씨인 학생의 이름, 학년, 학과 번호를 출력하여라.

 

 

 

* 사용 예
 - 학생 테이블에서 이름이 3글자, 성은 ‘김’씨고 마지막 글자가
‘영’으로 끝나는 학생의 이름, 학년, 학과 번호를 출력하여라

 

 

 

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

 

 

 

 

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

 

 

* IN(a, b, c, · · ·) 연산자
- IN(a, b, c, · · ·) 연산자는 특정 칼럼의 데이터 값이 a, b, c, · · ·값 중에 하나라도 일치하면 참이 되는 연산자
- OR 논리 연산자를 사용한 것과 같은 결과 집합 출력

 

 

 

* 사용 예
- IN 연산자를 사용하여 102번 학과와 201번 학과 학생의 이름, 학년, 학과번호를 출력하여라

 

 

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

 

 

 

 

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

 

BETWEEN 연산자
특정 칼럼의 데이터 값이 하한 값 a와 상한 값 b사이에 포함되는 행을 검색하기 위한 연산자
AND 논리 연산자를 사용한 것과 같은 결과 집합 출력

 

사용 예
BETWEEN 연산자를 사용하여 몸무게가 50kg에서 70kg 사이인 학생의 학번, 이름, 몸무게를 출력하여라.

 

사용 예
학생테이블에서 81년에서 83년도에 태어난 학생의 이름과 생년월일을 출력해라

 

 

 

 

 

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

 

 

 

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

 

 

* SQL 연산자
- SQL 연산자는 SQL 언어에만 제공
- SQL 연산자는 모든 데이터 타입에 대해 사용 가능

 

 

 

+ Recent posts