JOIN
- One to One
- One to Many
- 방향만 바꾸면 Many to One이랑 같음
- Many to Many
- 이런 경우는 많지 않음. 다른 방식으로 바꾸는 게 가능하다면 변환해서 JOIN해야 덜 위험함
- INNER JOIN: 양쪽 테이블에서 매치가 되는 레코드들만 리턴함
BOOLEAN
flag = True와 flag is True 는 동일한 표현
- 다만
flag is True와 flag is not False는 동일한 표현이 아닐 때가 있음 (NULL이 껴있다면)
NULL
- NULL 비교는 항상
IS 혹은 IS NOT으로 수행하기
- NULL 비교할 때
=나 !=나 <>으로 수행하면 잘못된 결과 초래
NULLIF(uniqueUsers, 0)의 의미는 uniqueUsers가 0이면 NULL을 리턴하라는 뜻. 0으로 나누면 안될 때에 사용하면 좋음. 사칙연산에 NULL이 들어가면 결과도 NULL이 되니까.
COALESCE(value, 0)의 의미는 value가 NULL이면 0을 리턴하라는 뜻