반응형
- 보통 NULL값은 무시된다.
- FALSE가 아니라 무시된다.
- NULL 조건은 IS NULL, IS NOT NULL로 처리해야된다.
- =이나 !=에 NULL을 붙이면 항상 FALSE가 나온다.
- 외래 키에 NULL이 들어갈 수 있습니까?
- NULL이 들어갈 수 있다.
- 외래키는 참조된 테이블에 값이 존재해야 한다는 제약이다.
- NULL은 값이 없다는게 아니라 "모른다" 이기 때문
- 속성 NOT IN ( 목록 ) 내부 쿼리 안에 NULL이 있는 경우
- 아무것도 나오지 않는다.
- 모두 일치하지 않아야 하는데 [값 != NULL] 은 항상 FALSE이므로 값에 상관없이 항상 조건을 만족하지 않는다.
- 조인할때
- INNER JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN 은 NULL을 무시하고 한다.
- FULL OUTER JOIN은?
- 전체 데이터 다 나오는거니까 NULL이어도 나온다.
- 둘 다 NULL이면 같은건가? 다르다.
- 각자 교집합 왼쪽, 오른쪽에 포함되어 두번 나온다.
- https://stackoverflow.com/questions/32587083/sql-full-outer-join-on-null-columns
GROUP BY는 NULL 그룹을 만든다.
ORDER BY 정렬시
- ORACLE : 널 값이 제일 큰 값으로 친다.
- MS Server : 널 값이 제일 작은 값으로 친다.
- https://learnsql.com/blog/how-to-order-rows-with-nulls/
ㅇ
반응형
'백엔드 > SQLD' 카테고리의 다른 글
정규화 (0) | 2020.11.26 |
---|---|
조인 (0) | 2020.11.26 |
외울거 정리 (0) | 2020.11.25 |
TOP, ROWNUM (0) | 2020.11.23 |
DDL, DML, DCL, TCL (0) | 2020.11.23 |
댓글