문자열 함수 LOWER(대상) : 문자열을 소문자로 예시) LOWER('ABC') = abc UPPER(대상) : 문자열을 대문자로 예시) UPPER('abc') = ABC SUBSTR(대상,m,n) : 문자열 중 m위치에서 n개의 문자열 추출 예시) SUBSTR('ABCDE' , 2,3) = BCD예시) SUBSTR('ABCDE', 2) = BCDE예시) SUBSTR('ABCDE' , -4,3) = BCD INSTR(대상, 찾을문자열, m, n) : 대상에서 찾을문자열 위치 반환 (m위치에서 시작, n번째 발견된 문자열위치)예시) INSTR( 'A#B#C#' , '#') = 2예시) INSTR( 'A#B#C#' , '#' , 3, 2) = 6예시) INSTR( 'A#B#C#' , '#' ,..
MySQLD 자격증 공부

● 정규 표현식 - 문자열의 공통된 규칙을 보다 일반화 하여 표현하는 방법 - 정규 표현식 사용 가능한 문자함수 제공(regexp_replace, regexp_substr, regexp_instr, ...) ex) 숫자를 포함하는, 숫자로 시작하는 4자리, 두번째 자리가 A 인 5 글자 예제) 일반화 규칙 찾아내기 ● 정규 표현식 종류 예제) 전화번호의 일반화☞ 전화번호는 숫자와 - 으로 구성 => [0-9-]* 로 표현 가능([] 안에 들어가는 패턴이 한자리의 문자열을 구성할 수 있는 값들)☞ 두 전화번호가 tel 값은 동시에 있지만.)가 있는 경우와 없는 경우를 모두 표현 => ? 사용(?는 값이 없거나 1개 있음을 의미) ● REGEXP_REPLACE - 정규식 표현을 사용한 문자열 치환..

● 데이터의 구조 1) LONG DATA(Tidy data) - 하나의 속성이 하나의 컬럼으로 정의되어 값들이 여러 행으로 쌓이는 구조 - RDBMS 의 테이블 설계 방식 - 다른 테이블과의 조인 연산이 가능한 구조 ●● LONG DATA 2) WIDE DATA(Cross table) - 행과 컬럼에 유의미한 정보 전달을 목적으로 작성하는 교차표 - 하나의 속성값이 여러 컬럼으로 분리되어 표현 - RDBMS 에서 WIDE 형식으로 테이블 설계시 값이 추가될 때 마다 컬럼이 추가돼야 하므로 비효율적 - 다른 테이블과의 조인 연산이 불가함 - 주로 데이터를 요약할 목적으로 사용 ●● WIDE DATA☞ 컬럼의 정보는 부서번호로, 하나의 관찰대상(속성)을 한 컬럼으로 정의하지 않고 ..

● 계층형 질의 - 하나의 테이블 내 각 행끼리 관계를 가질 때, 연결고리를 통해 행과 행 사이의 계층(depth)을 표현하는 기법 ex)DEPT2 에서의 부서별 상하관계 - PRIOR 의 위치에 따라 연결하는 데이터가 달라짐 ** 문법 ** START WITH : 데이터를 출력할 시작 지정하는 조건** CONNECT BY PRIOR : 행을 이어나갈 조건** NOCYCLE : 순환이 발생하면 무한 루프가 될 수 있기 때문에 이를 방지하고자 사용 예제) DEPT2 테이블에 대해 각 부서의 레벨을 출력(최상위 부서가 1레벨)** 올바른 예☞ 사장실의 DCODE 를 넘겨 다시 각 행들의 PDEPT 와 비교해야 하므로 먼저 정해져야 하는 값의 방향에 PRIOR 전달! ** 잘못된 예 예제) 계층형 ..