SQLD 공부2
참고: DEV.MG
연산자의 종류
- BETWEEN a AND b : a와 b 값 사이에 있으면 해당 됨
- IN (list) : 리스트에 있는 값 중 어느 하나라도 일치
- LIKE ‘비교문자열’ : 비교문자열과 형태가 일치
- IS NULL : NULL 값인 경우
- NOT IN (list) : list의 값과 일치하지 않는다.
- IS NOT NULL : NULL 값을 갖지 않는다.
- 연산자 우선순위:
- () -> NOT -> 비교연산자 -> AND -> OR
문자형 함수
- LOWER : 문자열을 소문자로
- UPPER : 문자열을 대문자로
- ASCII : 문자의 ASCII 값 반환
- CHR/CHAR: ASCII 값에 해당하는 문자 반환
- CONCAT : 문자열1, 2를 연결
- SUBSTR / SUBSTRING : 문자열 중 m 위치에서 n개의 문자 반환
- LENGTH / LEN : 문자열 길이를 숫자 값으로 반환
숫자형 함수
- SIGN(n) : 숫자가 양수면 1 음수면 -1 0이면 0 반환
- MOD : 숫자1을 숫자2로 나누어 나머지 반환
- CEIL/CEILING(n): 크거나 같은 최소 정수 반환
- FLOOR(n) : 작거나 같은 최대 정수 리턴
날짜형 함수
- SYSDATE/GETDATE() : 현재날짜와 시각 출력
- EXTRACT/DATEPART: 날짜에서 데이터 출력
- TO_NUMBER(TO_CHAR(d,’YYYY’))/YEAR(d)
NULL 관련 함수
- NVL(식1,식2)/ISNULL(식1,식2): 식1의 값이 NULL이면 식2 출력
- NULLIF(식1,식2) : 식1이 식2와 같으면 NULL을 아니면 식1을 출력
- COALESCE(식1,식2): 임의의 개수표현식에서 NULL이 아닌 최초의 표현식, 모두 NULL이면 NULL 반환
- COALESCE(NULL,NULL,’abc’) -> ‘abc’
집계 함수
- 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수
- GROUP BY 절은 행등을 소그룹화 한다.
- SELECT, HAVING, ORDER BY 절에 사용 가능
- ALL : DEFAULT 옵션
- DISTINCT : 같은 값을 하나의 데이터로 간주
- COUNT(*) : NULL 포함 행의 수
- COUNT(표현식) : NULL 제외 행의 수
- SUM, AVG : NULL 제외 합계, 평균 연산
- STTDEV : 표준 편차
- VARIAN : 분산
- MAX, MIN : 최댓값, 최솟 값
GROUP BY, HAVING 절의 특징
- GROUP BY 절을 통해 소그룹별 기준을 정한 후, SELECT 절에 집계 함수를 사용
- 집계 함수의 통계 정보는 NULL 값을 가진 행을 제외하고 수행
- GROUP BY 절에서는 ALIAS 사용 불가
- 집계 함수는 WHERE 절에 올 수 없다.
- HAVING 절에는 집계함수를 이용하여 조건 표시 가능
- HAVING 절은 일반적으로 GROUP BY 뒤에 위치