728x90

조건 검색 - NULL 을 이용한 검색
- 검색 조건에서 속성의 값이 NULL인지 비교하기 ==> IS NULL 키워드 사용
- 검색 조건에서 속성의 값이 NULL이 아닌지 비교하기 ==> IS NOT NULL 키워드 사용
- 예제에 사용할 판매 데이터베이스
- Customer 테이블
- Items 테이블
- Orders 테이블
- Customer 테이블에서 주소(address)가 입력되지 않은 고객의 account, name을 검색하시오.
- [TIP]
- NULL인지 비교하기 위하여 속성이름=NULL을 사용하면 안됨
- 투플을 수정 (UPDATE) 할 경우
- UPDATE customer SET address=NULL WHERE account=’king’;
- 옳은 질의문
- SELECT account, name FROM customer WHERE address IS NULL;
- SELECT account, name FROM customer WHERE address IS NULL;
- 잘못된 질의문
- SELECT account, name FROM customer WHERE address=NULL;
- [TIP]

문자열 데이터 타입과 NULL 값
- Customer 테이블에서 주소(address)가 입력된 고객의 이름(name)과 주소(address)를 검색하시오.
- [TIP]
- CHAR 데이터타입의 값을 ‘ ’와 같이 데이터를 전혀 입력하지 않은 것과 NULL은 다름
- INT의 0 값은 NULL과 다름
- 문자열 값이 입력되지 않은 속성은 NULL 값을 주는 것이 좋음
- INT 값을 입력하지 않을 경우, DEFAULT를 사용하여 0 으로 초기화하는 것이 좋음
- 옳은 질의문
- SELECT name, address FROM customer WHERE address IS NOT NULL;
- SELECT name, address FROM customer WHERE address IS NOT NULL;
- 잘못된 질의문
- NULL 이 아닌 조건은 ‘ < > NULL ’을 사용하면 안됨.
- SELECT name, address FROM customer WHERE address <> NULL;
- 속성값은 ‘ ’와 같이 빈 문자열을 사용한 질의문
- SELECT name, address FROM customer WHERE address=’’;
- SELECT name, address FROM customer WHERE address=’’;
INT 테이터 타입의 NULL 크기 비교
- Items 테이블에서 단가(price) 값을 입력하지 않은 제품의 코드(code), 이름(name)을 검색하시오.
- SELECT code, name FROM items WHERE price IS NULL;
- SELECT code, name FROM items WHERE price IS NULL;
- Items 테이블에서 단가(price)가 0원인 제품의 코드(code), 이름(name)을 검색하시오.
- SELECT code, name FROM items WHERE price=0;
- SELECT code, name FROM items WHERE price=0;
- Items 테이블에서 단가가 2000원 미만인 제품의 코드(code), 제품명(name), 단가(price)를 검색하시오.
- [TIP]
- NULL 값은 숫자로 비교할 수 없다.
- NULL 값은 다른 값과 크기를 비교하면 항상 FALSE 이다.
- price > 2000
price < 2000
price <> 2000
price >= 2000
price <= 2000
price = 2000
- SELECT code, name FROM items WHERE price < 2000;
- [TIP]
728x90
'프로그래밍 > Database' 카테고리의 다른 글
[Database] 집계 함수 - AVG(평균), SUM(합), COUNT (0) | 2020.04.07 |
---|---|
[Database] 정렬 검색 - ORDER BY 를 이용한 검색 (0) | 2020.04.07 |
[Database] 조건 검색 - LIKE 를 이용한 검색 (0) | 2020.04.07 |
[Database] 조건 검색(WHERE 절) (0) | 2020.04.07 |
데이터 조작어(DML) - SELECT 문 (데이터 검색) (0) | 2020.04.07 |