간단하게 문법만 정리하는 용, 세부적인 예시와 정리는 다음글에
Group by는
동일한 범주를 갖는 데이터를 하나로 묶어서, 범주별 통계를 내주는 것이다.
동일한 범주의 '갯수'는 count(*)을 사용한다.
'오늘의 다짐 갯수 구하기'
select 범주별로 세어주고 싶은 필드명, count(*) from 테이블명
group by 범주별로 세어주고 싶은 필드명;
동일한 범주의 최댓값 구하기
select 범주가 담긴 필드명, max(최댓값을 알고 싶은 필드명) from 테이블명
group by 범주가 담긴 필드명;
동일한 범주의 평균 구하기
select 범주가 담긴 필드명, avg(평균값을 알고 싶은 필드명) from 테이블명
group by 범주가 담긴 필드명;
order by로 앞의 결과 정렬해보기
select name, count(*) from users
group by name;
Alias
쿼리가 점점 길어지면서 종종 헷갈리는 일이 생길 수 있다. 그때 Alias라는 기능을 사용한다.
Join
두 테이블의 공통된 정보 (key값)를 기준으로 테이블을 연결해서 한 테이블처럼 보는 것을 의미한다.
select * from point_users
left join users
on point_users.user_id = users.user_id
종류
-Left Join
-Inner Join
Subquery란? 쿼리 안의 쿼리라는 의미이다.
select u.user_id, u.name, u.email from users u
where u.user_id in (
select user_id from orders
where payment_method = 'kakaopay'
)
자주 쓰는 Subquery