SELECT * FROM 테이블
집계함수
AVG() - 평균값을 반환한다
COUNT() - 값의 수를 반환한다.
MAX() - 최댓값을 반환한다
MIN() - 최솟값을 반환한다.
SUM() - 값의 합계를 반환한다.
반올림/절사 함수
ROUND 함수 (반올림)
함수 : ROUND("값", "자리수")
TRUNC 함수 (절삭)
함수 : TRUNC ("값", "자리수")
LIMIT절
반환되는 데이터의 수를 제한
SELECT *
FROM 테이블
LIMIT 수;
GROUP BY 절
SELECT [DISTINCT] 컬럼, 그룹 함수(컬럼)
FROM 테이블명
[WHERE 조건]
[GROUP BY Group대상]
[HAVING 그룹 함수 포함 조건]
[ORDER BY 정렬대상 [ASC/DESC]]
HAVING 절 - 그룹화된 데이터에 조건을 주어 데이터 추출
HAVING 절은 GROUP BY 절과 함께 사용되며, 그룹화된 결과 집합에 대한 조건을 지정하는 데 사용
✨WHERE 절은 개별 행에 대한 조건을 지정하고, HAVING 절은 그룹화된 결과 집합에 대한 조건 지정
간단 요약
Having은 그룹화 또는 집계가 발생한 후 레코드를 필터링하는데 사용된다.
Where은 그룹화 또는 집계가 발생하기 전에 레코드를 필터링하는데 사용된다.
작성순서
셀프웨구해오
조건문
IF
IF(조건, 조건이 참일 때, 조건이 거짓일 때)
CASE WHEN 조건 여러개
NVL함수
NVL(대상데이터 , NULL일때 데이터)
NVL2함수
NVL2 ( 대상데이터 , NULL아닐때 데이터 , NULL일때 데이터)
DATEDIFF
두 개의 날짜값의 차이를 Int형으로 반환하고자 할 때 사용
- 기본적으로 날짜1 - 날짜2 로 계산됩니다.
문법 : DATEDIFF(날짜1, 날짜2)
TIMESTAMPDIFF
TIMESTAMPDIFF(단위, 날짜1, 날짜2);
- 단위의 종류로는 아래와 같습니다.
- SECOND : 초
- MINUTE : 분
- HOUR : 시간
- DAY : 일
- WEEK : 주
- MONTH : 월
- QUARTER : 분기
- YEAR : 연도
DATE_FORMAT(date string, '날짜 형식')
- 시간을 원하는 형태로 반환하고자 할 때 사용
- 문법 : DATE_FORMAT(DATETIME date, FORMAT);
SELECT DATE_FORMAT(NOW(), "%Y%c/%e %r");
포맷문자 | 설명(예시) | 포맷문자 | 설명(예시) |
%Y | 년도 (2021) | %m | 월 (01, 02, 11) |
%y | 년도 (21) | %c | 월 (1, 8) |
%d | 일(01, 19) | %M | 월 (January, August) |
%e | 일(1, 19) | %b | 월(Jan, Aug) |
%T | 시간 (12:30:00) | %W | 요일(Wednesday, friday) |
%r | 시간 (12:30:00 AM) | %a | 요일(Wed, Fri) |
%H | 24시간 시간(01, 14, 18) | %i | 분 (00) |
%l | 12시간 시간 (01, 02, 06) | %S | 초 (00) |
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
IS NULL
IS NOT NULL
IFNULL
해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력할 수 있도록 하는 함수이다.
- 기본 구조
SELECT IFNULL(Column명, "Null일 경우 대체 값") FROM 테이블명;
CASE
해당 Column 값을 조건식을 통해 True, False를 판단하여 조건에 맞게 Column값을 변환할 때 사용하는 함수이다.
- 기본 구조
CASE
WHEN 조건식1 THEN 식1
WHEN 조건식2 THEN 식2
...
ELSE 조건에 맞는경우가 없는 경우 실행할 식
END
Like
LIKE + '%', '_'
LIKE 연산자와 함께 쓰이는 와일드 카드인 %, _ 는 각각 아래와 같은 뜻을 지닌다
- %: 0개 이상의 모든 문자를 대체 (글자 개수를 지정하지 않는 와일드 카드)
- _: 1개 이상의 모든 문자를 대체 (_ 개수 만큼 글자 수가 지정되는 와일드 카드)
문자열 자르기
- SUBSTRING( 문자열, 시작위치, 길이 ) >> 문자열에서 시작 위치부터 길이만큼 출력합니다.
- LEFT( 문자열, 길이 ) >> 문자열에서 왼쪽부터 길이만큼 출력합니다.
- RIGHT( 문자열, 길이 ) >> 문자열에서 오른쪽부터 길이만큼 출력합니다.
SELECT SUBSTRING(NAME, 2, 4) // NAME의 2번째글자부터 4글자 출력
, SUBSTRING(NAME, 1, 4) // NAME의 1번째글자부터 4글자 출력
, LEFT(MAIL, 7) // MAIL을 왼쪽부터 7글자 출력
, RIGHT(MAIL, 5) // MAIL을 오른쪽부터 5글자 출력
FROM TABLE
'코딩테스트 > 알고리즘' 카테고리의 다른 글
[JAVA] 자주 사용하는 코딩테스트 문법 정리 (1) | 2025.02.16 |
---|---|
[JAVA] 유니온 파인드(Union-Find) (0) | 2025.02.16 |
[JAVA] 완전탐색(Exhaustive Search) (0) | 2025.02.16 |
[JAVA] 브루트포스(brute force) (0) | 2025.02.16 |
[JAVA] 다익스트라(Dijkstra) -최단경로 (0) | 2025.02.16 |