FROM절 -> WHERE절 -> GROUP BY절 -> HAVING절 -> SELECT절 -> ORDER BY절
테이블 데이터 조회 시 한계를 지정할 수 있음.
EX)
SELECT A,B,C FROM TABLE_A LIMIT 10
--테이블에서 상위 10개의 데이터만 가져온다
EX)
SELECT A,B,C FROM TABLE_A LIMIT 10,10
--테이블의 11행부터 20행까지의 데이터를 가져온다 (시작행, 시작행으로부터 N개)
중복을 제거하고자 하는 열 바로 옆에다가 붙혀줌
EX)
DISTINCT COUNT(NAME) --X
COUNT(DISTINCT NAME) --O
SELECT DISTINCT 컬럼 FROM 테이블
SELECT DISTINCT 컬럼 FROM 테이블 WHERE 조건식;
SELECT COUNT(DISTINCT 컬럼) FROM 테이블;
LIKE '데이터%' --데이터로 시작하는 문자열
LIKE '%데이터' --데이터로 끝나는 문자열
LIKE '%데이터%' --데이터가 포함된 문자열
LIKE '데이터___' --데이터로 시작하는 6자 길이의 문자열
LIKE '__한%' --세 번째 글자가 '한'인 문자열
IFNULL(NAME, 'No name')
-- NAME 컬럼이 NULL이면 'No name' 출력
-- NOT NULL이면 NAME 출력
오름차순 ASC(생략가능), 내림차순 DESC
*모든데이터 : 날짜 데이터도 가능.
*집계 함수는 NULL인 속성 값은 제외하고 계산.
*집계 함수는 WHERE절에 사용할 수 없고, SELECT절이나 HAVING절에서만 사용할 수 있다.
CASE
WHEN 조건
THEN '반환값'
WHEN 조건2
THEN '반환값2'
ELSE
END
테이블에서 특정 속성의 값이 같은 튜플을 모아 그룹을 만들고, 그룹별로 검색을 하기 위해 사용.
그룹별로 검색할 때는 집계함수나 GROUP BY절에 있는 속성 외의 속성은 SELECT절에 사용할 수 없다.
YEAR('2017-01-02 12:30:45')
MONTH('2017-01-02 12:30:45')
DAY('2017-01-02 12:30:45')
HOUR('2017-01-02 12:30:45')
MINUTE('2017-01-02 12:30:45')
SECOND('2017-01-02 12:30:45')
DATE_FORMAT(DATETIME, '%Y-%m-%d')
시간을 원하는 형태로 반환하는 함수.
SELECT RIGHT('abcdefg', 3);
결과 eft
SELECT LEFT('abcdefg', 3);
결과 abc
SELECT MID('abcdefg', 2, 4);
-- SELECT SUBSTR('abcdefg', 2, 4);
-- SELECT SUBSTRING('abcdefg', 2, 4);
결과 bcde
SELECT CONCAT('안녕하세요.', '감사해요.', '잘있어요.', '다시만나요.') AS hello;
안녕하세요.감사해요.잘있어요.다시만나요.