Null Value
Null 값은 크게 3가지로 생각할 수 있다. Value unknown, value inapplicable, value withheld가 그 종류이다. Null은 비교 연산을 할 때 할 수 없기 때문에 Boolean 타입에 null을 위한 UNKNOWN이 들어가게 된다.
Ex) x가 NULL이라고 가정하면 X+3 또한 NULL이다. NULL + 3 은 legal SQL expression에 맞지 않는다. X=3은 UNKNOWN이며 NULL = 3은 SQL에 맞지 않는다.
X IS NULL is TRUE 로 확인할 수 있다.
PostgreSQL에서는 다음과 같다.
SQL>select 10 = 10; >> t
SQL> select 10 IS NULL; >> f
SQL> select 10 = NULL; >> NULL
SQL> select NULL = NULL; >> NULL
SQL> select NULL IS NULL; >> t
Ex) Movie(title, year, length, genre, studioName, producerCNo)
SELECT *
FROM Movie
WHERE length < = 120 OR length > 120;
위와 같을 때 모든 튜플이 나올 것 같지만 실제로는 그렇지 않다. NULL값이 있을 경우 boolean 타입이 UNKNOWN이 있기 때문에 그 값은 제외된다. 따라서 위처럼 구성을 하면 length가 non-null인 것을 찾는 것일 뿐이다.
Null Value 실습
우선 The Terminator의 length값과 Misery의 studioname, producerno가 NULL값이니 이들을 대상으로 실습을 해보았다.
length가 NULL인 터미네이터 영화는 사라진 것을 확인할 수 있다.
이번에는 String 값이 null인 경우를 대상으로 해보겠다.
모든 스튜디오이름이 a보다는 사전의 뒤에 나오기 때문에 비교연산자를 활용했고 그 결과 studioname이 NULL이었던 misery는 사라진 형태로 나온 것을 확인해볼 수 있다.
Ordering the Output
Syntax
– ORDER BY <list of attributes>
– ORDER BY <list of attributes> ASC (이 값이 디폴트이며 오름차순)
– ORDER BY <list of attributes> DESC (감소하는 순으로 정렬 내림차순)
'학부 전공 > DB' 카테고리의 다른 글
SQl 집합 연산(합집합, 교집합, 차집합) (0) | 2021.06.19 |
---|---|
SQL join사용하기 (0) | 2021.06.19 |
PostgreSQL Regular Expressions & comparing Dates and Times (0) | 2021.06.19 |
SQL Comparisionb of String & Pattern Match (0) | 2021.06.19 |
SQL 기본 사용법 (0) | 2021.06.19 |