데브코스 W3D3

백엔드 데브 코스 중 중요한 개념을 정리하거나 과제 개발 일지를 정리한 공간입니다.

SELECT

SELECT 필드이름1, 필드이름2, …
FROM 테이블이름
WHERE 선택조건
GROUP BY 필드이름1, 필드이름2, ...
ORDER BY 필드이름 [ASC|DESC] -- 필드 이름 대신에 숫자 사용 가능
LIMIT N;

DISTINCT

SELECT DISTINCT 필드이름 -- 유일한 필드값만 알고 싶은 경우
FROM 테이블이름;

COUNT

COUNT(필드이름) - NULL 값이 들어간 행 카운트 X
COUNT(DISTINCT 필드이름) - NULL 값을 포함하지 않는 유일한 값 카운트 X
COUNT(*) - NULL 값에 상관없이 모든 행을 카운트
COUNT(NULL) - 카운트 X (값은 0)
COUNT(1) - 모든 행 카운트(1을 비롯해 NULL이 아닌 모든 값이 동일) 

CASE WHEN

CASE
 WHEN 조건1 THEN 값1
 WHEN 조건2 THEN 값2
 ELSE 값3
END 필드이름 -- 각 조건에 대한 값이 반영된 새로운 필드가 생성

STRING

LEFT(필드, len)
REPLACE(필드, exp1, exp2)
UPPER(필드)
LOWER(필드)
LENGTH(필드)
LPAD, RPAD(필드, len, exp)
SUBSTRING(필드, pos, len)
CONCAT(필드1, 필드2, ...)

ORDER BY

ORDER BY 1 ASC - 오름차순
ORDER BY 1 DESC - 내림차순
ORDER BY 1 DESC, 2, 3 - 여러 필드 기준

GROUP BY & Aggregate

테이블의 레코드를 필드를 기준으로 그룹핑하여 그룹별 다양한 정보를 계산하는 데 사용된다. 사용방법은 먼저 GROUP BY로 그룹핑할 필드를 결정하고 각 그룹별로 계산할 내용을 Aggregate를 사용해서 처리한다.

COUNT : 그룹별 갯수
SUM : 그룹별 합
AVG : 그룹별 평균
MIN : 그룹별 최소
MAX : 그룹별 초대
GROUP_CONCAT : 그룹별 문자열 연결

사용예시

SELECT
 time AS mon,
 COUNT(1) AS mon_count
FROM table
GROUP BY 1 -- GROUP BY mon, GROUP BY time
ORDER BY 1;

좋은 웹페이지 즐겨찾기