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;