# Work/Data

[SQLD] 단일 행 함수 : SQL 기본 및 활용 / SQL 활용

im-jamie 2023. 2. 21. 23:17

SQLD 시험 내용
(a) 데이터 모델링의 이해 (출제 비중 20% : 10문제, 20점)
- 데이터 모델링의 이해 : 데이터모델의 이해 / 엔터티 / 속성 / 관계 / 식별자
- 데이터 모델과 성능 : 정규화와 성능 / 반정규화와 성능 / 대용량 데이터에 따른 성능 / DB 구조와 성능 / 분산 DB 데이터에 따른 성능
(b) SQL 기본 및 활용 (출제 비중 80% : 40문제, 80점)
- SQL 기본 : 정보 요구 사항 / DDL / DML / TCL / WHERE / FUNCTION / GROUP BY, HAVING / ORDER BY / JOIN
- SQL 활용 : 표준 조인 / 집합 연산자 / 계층형 질의 / 서브쿼리 / 그룹함수 / 윈도우 함수 / DCL / 절차형 SQL
- SQL 최적화 기본 원리 : 옵티마이저와 실행 계획 / 인덱스 기본 / 조인 수행 원리


1. 단일 행 함수

- DBMS에서 제공하는 내장 함수를 이용하면 각 행 별로 데이터를 가공하거나 변환할 수 있다.- 함수는 인자 값(Arguments)과 리턴 값이 존재한다. 함수의 리턴 값은 항상 1개 (단일 값)이다.

문자형 함수 문자 데이터 가공
숫자형 함수 숫자 데이터 가공
날짜형 함수 날짜 데이터 가공
변환형 함수 데이터 유형을 변환
널 관련 함수 NULL과 관련된 가공 및 변환

 

- 단일 행 함수는 중첩하여 사용이 가능하다. (안쪽부터!)

 

문자형 함수 :

LOWER(문자열) 소문자 변환
UPPER(문자열) 대문자 변환
ASCII(문자) 아스키 코드 번호로 변환
CHR(ASCII번호) / CHAR(ASCII번호) 문자나 숫자로 변환
CONCAT(문자열1, 문자열2) 문자열1과 2 연결
SUBSTR(문자열, m[,n]) / SUBSTRING(문자열, m,[,n]) 문자열 중 m위치에서 n개의 문자 길이에 해당하는 문자 돌려줌
LENGTH(문자열) / LEN(문자열) 문자열의 개수를 숫자 값으로 돌려줌
LTRIM(문자열, [,지정문자]) 문자열의 첫 문자부터 시작해서 지정 문자가 나타나면 해당 문자 제거
RTRIM(문자열,[,지정문자]) 문자열의 마지막 문자부터 시작해서 지정 문자가 나타나는 동안 해당 문자 제거
TRIM([leadint | trailing | both]지정문자 FROM 문자열) 문자열에서 머리말, 꼬리말, 또는 양쪽에 있는 지정 문자 제거

2. 단일 행 함수 - CASE 표현식

CASE 표현식 :

비교 값 또는 조건에 따라 데이터 가공하거나 변환

/* 단순 CASE 표현식 */
SELECT CASE a.job WHEN 'APPLE'  THEN 'A'
WHEN 'BANANA' THEN 'B'
ELSE 'E'
END AS job_se
FROM emp a

/* 검색 CASE 표현식 */
SELECT CASE WHEN a.job = 'APPLE' THEN 'A'
WHEN a.job= 'BANANA' THEN 'B'
ELSE 'E'
END as job_Se
FROM emp a