컬럼 별칭 정하기(as), 출력할 row 개수 정하기(limit), 오름차순/내림차순(order by str asc, desc), 숫자형함수, 문자형함수, 날짜형함수를 배웠다.
/*2019년 개봉 영화 중 상영횟수가 가장 많은 순서로 출력하여
그와 관객수, 매출액, 상영극장수를 비교해본다.*/
select ranks, movie_name,showing_count, screen_num, audience_num, sale_amt
from box_office
where release_date like '2019%'
order by screen_num desc, ranks asc; #오름차순 asc 내림차순 desc
#위 조회 수량 중 top100만 본다,
select ranks, movie_name, screen_num, audience_num, sale_amt
from box_office
where release_date like '2019%'
order by screen_num desc, ranks asc
limit 100;
숫자형 함수 | 반환값 |
---|---|
EXP(x) | 자연로그의 밑 e의 x승 |
LN(x) | 밑이 e(자연상수)인 x의 로그 |
LOG(b, x) | 밑이 b(생략하면 자연상수가 자동으로 들어간다)인 x의 로그, b 생략 시 밑은 e |
LOG10() | 밑이 10인 x의 로그 |
LOG2() | 밑이 2인 x의 로그 |
프로그래밍에서 데이터 값의 자릿수를 맞추어야 할 때 유용한 문자열 함수 RPAD, LPAD이다.
RPAD, LPAD 함수 | 반환값 |
---|---|
LPAD/RPAD(str, len, padstr) | str 문자열을 len 길이만큼 반환하는데, 자리가 남으면 왼쪽/오른쪽을 padstr 문자로 채움 |
select lpad('Kim', 8, '_'); #output: _____Kim
select rpad('Kim', 8, '_'); #output: Kim_____
RPAD, LPAD 함수 | 반환값 |
---|---|
INSTR(str, substr) | str 문자열에서 substr 문자(열)를 찾아 시작위치 반환 파이썬과 다르게 0부터가 아니다. |
LOCATE(substr, str, pos) POSITION(substr IN str) | str 문자열에서 substr 문자(열)를 찾아 시작 위치 반환, pos 입력 시 해당 위치부터 검색(POS는 시작점) |
숫자형 함수 | 반환값 | 사용 예시 |
---|---|---|
SIGN() | 매개변수가 0보다 크면 1, 0이면 0, 0보다 작으면 -1 | SIGN(-3) → -1 SIGN(3) → 1 |
CONCAT('자료A', '(' , '자료B', ')'); #자료A(자료B)
CONCAT_WS('-', '자료A', '자료B'); #자료A-자료B sep과 비슷하다.
SPACE(N) #N개의 공백문자 반환
LTRIM(str), RTRIM(str) #왼, 오 각각 공백 제거 후 반환
select TRIM(BOTH | LEADING | TRAILING 'remstr' FROM str);
#BOTH, LEADING(=LTRIM), TRAILING(=RTRIM) 중 하나를 골라 사용한다.
#remstr을 생략하면 공백 제거와 같다.
LEFT(str, len), RIGHT(str, len), MID(str, pos, len)
#슬라이싱
REPLACE(str, from_str, to_str) #from_str에서 to_str로 교체
날짜형 함수 | 반환값 |
---|---|
DAYNAME(date) | date의 요일 반환 |
DAYOFWEEK(date) | 요일을 숫자로 반환 1(일요일) ~7(토요일) |
LAST_DAY(date) | 속한 월의 마지막연월일 반환 |
ADDDATE(date, INTERVAL expr unit) SUBDATE(date, INTERVAL expr unit) | date에 expr unit을 더한/뺀 날짜 반환, expr unit 들어갈 수 있는 형식 expr unit 들어갈 수 있는 형식 |
DATE_FORMAT(date, format) | date를 format에 명시된 형태로 변환해 반환 |
YEARWEEK(date, mode) | date가 속한 연도와 주차 반환 mode에 들어갈 형식 |