NOT > AND > OR
NULL값과의 연산(+,-,* 등)등은 NULL 값을 리턴
NULL값과의 비교 연산(=, !=, > 등)은 FALSE를 리턴
NULL은 연산 대상에서 제외한다.
NULL값을 조건절에 사용한 경우에는 IS NULL, IS NOT NULL 를 사용해야 한다
WHERE column = NULL이나WHERE column != NULL사용 X
ISNULL(C1, C2) -> C1의 값이 NULL이면 C2를 반환
SELECT, WHERE, ORDER BY, UPDATE의 SET절 사용이 가능| 함수(오라클/SQL Server) | 설명 |
|---|---|
| NVL(표현식1, 표현식2)/ISNULL(표현식1, 표현식2) | 표현식1의 결과값이 NULL이면 표현식2의 값을 출력. 단, 표현식1과 표현식2의 결과 데이터 타입이 같아야 함. |
| NULLIF(표현식1, 표현식2) | 표현식1이 표현식2와 같으면 NULL을, 같지 않으면 표현식1을 리턴 |
| COALESCE(표현식1, 표현식2, ...) | 임의의 개수 표현식에서 NULL이 아닌 최초의 표현식을 나타낸다. 모든 표현식이 NULL이라면 NULL을 반환 |

줄바꿈도 하나의 문자로 인식되어 A<줄바꿈>A의 문자열 길이는 3이다.
SELECT LENGTH(C1) FROM TAB1;의 값음 3, 5인 것!
REPLACE(A, B, C)는 A에 B값을 C로 치환하라는 의미이며, C의 값이 존재하지 않으면 B의 값을 삭제하라는 것이다.
SELECT(LENGTH(C1) - LENGTH(REPLACE(C1, CHR(10))) +1) CC FROM TAB1
SELECT((3, 5) - LENGTH('AA', 'BBB')) +1) CC FROM TAB1
SELECT((3, 5) - (2, 3)) +1) CC FROM TAB1
SELECT((1, 2)) +1) CC FROM TAB1
SELECT((1, 2)) +1) CC FROM TAB1
SELECT((2, 3)) CC FROM TAB1
SELECT SUM(CC) FROM (2, 3) CC
정답은 2+3 = 5
1/24/60 -> 1분, 1/24/(60/10) -> 10분
CASE WHEN 조건식 THEN 조건식=참 -> 적용할 값 ELSE 조건식=거짓 -> 적용할 값 END
☝️ SELECT loc, CASE WHEN loc = 'new york' THEN 'east' ELSE 'etc' END as AREA FROM dept;
CASE 컬럼명 WHEN 조건식 THEN 조건식=참 -> 적용할 값 ELSE 조건식=거짓 -> 적용할 값 END
☝️ SELECT loc, CASE loc WHEN 'new york' THEN 'east' ELSE 'etc' END as AREA FROM dept;
TOP(N) 질의문에서 N에 해당하는 값이 동일한 경우 함께 출력되도록 하는 WITH TIES 옵션을 ORDER BY절과 함께 사용해야 한다.
SELECT TOP(3) WITH TIES 팀명, 승리건수
FROM 팀별 성적
ORDER BY 승리건수 DESC;