






MySQL 내장 함수
제어 흐름함수: 프로그램의 흐름 제어

문자열 함수
ASCII(아스키 코드): 문자의 아스키 코드값 반환
CHAR(숫자): 숫자의 아스키 코드값에 해당하는 문자 반환
BIT_LENGTH(str): 할당된 bit 크기 또는 문자 크기 반환
CHAR_LENGTH(str): 문자의 개수 반환
LENGTH(str): 할당된 byte 수 반환
CONCAT(str1, str2): 문자열을 이어줌
CONCAT_WS(구분자, str1, str2): 구분자와 함께 문자열을 이어주는 역할

- ELT(위치, 문자열1, 문자열2,...): 위치에 해당하는 문자열 반환
FIELD(찾을 문자열, 문자열1, 문자열2,...): 찾을 문자열의 위치를 찾아 반환, 없으면 0
FIND_IN_SET(찾을 문자열, 문자열 리스트): 찾을 문자열을 문자열 리스트에서찾아 위치 반환, 문자열 리스트는 콤마로 구분되어 있고 공백이 없어야 함
NSTR(기준 문자열, 부분 문자열): 기준 문자열에서 부분문자열 찾아 그 시작 위치 반환
LOCATE(부분 문자열, 기준 문자열): INSTR()과 동일하지만 파라미터 순서가 반대
FORMAT(숫자, 소수점 자릿수): 숫자를 소수점 아래 자릿수까지 표현, 1000단위마다 콤마 표시
BIN(숫자), HEX(숫자), OCT(숫자): 2진수, 16진수, 8진수의 값을 반환
INSERT(기준 문자열, 위치, 길이, 삽입할 문자열): 기준 문자열의 위치부터 길이만큼 지우고 삽입할 문자열 끼워 넣음

LEFT(문자열, 길이), RIGHT(문자열, 길이): 왼쪽 또는 오른쪽에서 문자열의 길이만큼 반환
UPPER(문자열), LOWER(문자열): 소문자를 대문자로, 대문자를 소문자로 변경
LPAD(문자열, 길이, 채울 문자열), RPAD(문자열, 길이, 채울 문자열): 문자열으 길이만 큼 늘린 후에 빈 곳을 채울 문자열로 채움
LTRIM(문자열), RTRIM(문자열): 문자열의 왼쪽/오른쪽 공백을 제거, 중간의 공백은 제거되지 않음
TRIM(문자열), TRIM(방향 자를문자열 FROM 문자열): 문자열 앞뒤 공백을 모두 없앰, TRIM(방향 자를문자열 FROM 문자열) 에서 방향은 LEADING(앞), BOTH(양쪽), TRAILING(뒤) 으로 표시

- REPEAT(문자열, 횟수): 문자열을 횟수만큼 반복
REPLACE(문자열, 원래 문자열, 바꿀 문자열): 문자열에서 원래 문자열을 찾아서 바꿀 문자열로 바꿈

- REVERSE(문자열): 문자열의 순서를 거꾸로 바꿈
SPACE(길이): 길이만큼의 공백을 반환
SUBSTRING(문자열, 시작위치, 길이)/(문자열 FROM 시작위치 FOR 길이)

수학 함수
날짜 및 시간 함수
피벗의 구현

JSON 데이터
조인(Join)
두 개 이상의 테이블을 서로 묶어서 하나의 결과 집합으로 만들어 내는 것
데이터 베이스의 테이블
INNER JOIN : 조인 중 가장 많이 사용되는 조인



OUTER JOIN : 조인의 조건에 만족되지 않는 행까지도 포함시키는 것

- LEFT OUTER JOIN : 왼쪽 테이블의 것은 모두 출력되어야 한다로 이해, 줄여서 LEFT JOIN으로 쓸수있음
- RIGHT OUTER JOIN : 쪽 테이블의 것은 모두 출력되어야 한다로 이해

CROSS JOIN(상호 조인): 한쪽 테이블의 모든 행들과 다른쪽 테이블의 모든 행을 조인시키는 기능


SELF JOIN(자체 조인)

UNION/UNION ALL/NOT IN/IN


IF...ELSE : 조건에 따라 분기, 한문장 이상 처리되어야 할 때 BEGIN...END로 묶기

CASE : 조건에 따라 분기
WHILE문 : 해당 부울식이 참인 동안에 계속 반복되는 반복문

오류처리



