SELECT
'컬럼1', '컬럼2', ...
FROM '테이블명'
WHERE '조건문'
GROUP BY
HAVING
ORDER BY '컬럼1', '컬럼2' DESC
LIMIT N
FROM -> JOIN -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY 순으로 실행됨.
연월일
%Y-%m-%d: 2025-07-08%y-%c-%e: 25-7-8시간 표현
%T: hh:mm:SS%I: 12시%H: 24시%i: 분%s: 초%r: hh:mm:ss AM/PM달, 요일 표현
%M: 문자 긴 월; July%b: 문자 짧은 월; Jul%W: 요일 길게; Monday%a: 요일 짧게; MonYEAR, MONTH, DAY 함수: DATE_FORMAT 자료형에서 연, 월, 일만 추출 가능
JOIN
UNION
BETWEEN A AND B: A와 B 사이; 주로 특정 기간 사이를 조회할 때 사용IFNULL('컬럼1', 'TEXT'): 컬럼1의 데이터가 NULL이면 'TEXT'로 대체 IF('조건', '참일 때', '거짓일 때')LIKE: 문자열 비교 연산자, % 사용해서 와일드카드 적용 가능A & B: A를 이진수로 치환하여 B가 있는지 확인CASECASE
WHEN ... THEN ...
WHEN ... THEN ...
...
ELSE
ENDNTILE(n) OVER (ORDER BY '컬럼1' ASC/DESC): 컬럼1의 하위 또는 상위 n분위 수WITH: 메모리 상에서 가상의 테이블을 저장WITH 테이블명 AS (
SELECT ...
FROM ...
) WITH RECURSIVE: WITH 문으로 만든 가상의 테이블에 대해, 재귀적으로 값을 추가WITH RECURSIVE 테이블명 AS (
SELECT 1 AS N # 초기값
UNION ALL
SELECT N + 1
FROM 테이블명
WHERE N < 10 # 종료 조건
)