본문 바로가기
참톨공부

[SQL] 2주차 개발일지

by 참도토리 2021. 12. 20.
스파르타코딩클럽 SQL 2주차 개발일지
 
 
2주차 퀴즈
select payment_method, count(*) from orders

where course_title = ‘앱개발 종합반’
group by payment_method
 
select name, count(*) from users
where email like ‘%gmail.com’
group by name
 
select course_id, count(*), avg(likes) from checkins
group by course_id

 

2주차 과제

네이버 이메일을 사용하여 앱개발 종합반을 신청한 주문의 결제수단별 주문건수 세어보기

 

SELECT payment_method, count(*) from orders
where email like ‘%@naver.com’ and course_title = ‘앱개발 종합반’
group by payment_method


알아둘 것

 

Group by : 범주별 통계내기

동일한 범주의 갯수는 count(*)를 사용

select 범주별로 세어주고 싶은 필드명, count(*) from 테이블명

 

동일한 범주 특정 필드의 최솟값은 min(필드명)을 사용

select 범주가 담긴 필드명, min(최솟값을 알고 싶은 필드명) from 테이블명

 

동일한 범주 특정 필드의 최댓값은 max(필드명)을 사용

select 범주가 담긴 필드명, max(최댓값을 알고 싶은 필드명) from 테이블명

 

동일한 범주 특정 필드의 평균값은 avg(필드명)을 사용

select 범주가 담긴 필드명, avg(평균값을 알고 싶은 필드명) from 테이블명

 

Order by : 범주별 정렬하기

오름차순 : asc or 기본 정렬이 오름차순

내림차순 : desc

 

Alias 별칭기능

select * from orders o
where o.course_title = '앱개발 종합반'

혹은 테이블명 뒤에 as 를 붙여서
select payment_method, count(*) as cnt from orders o
where o.course_title = '앱개발 종합반'
group by payment_method

 

쿼리 작성하는법

1) show tables로 어떤 테이블이 있는지 살펴보기
2) 제일 원하는 정보가 있을 것 같은 테이블에 select * from 테이블명 limit 10 쿼리 날려보기
3) 원하는 정보가 없으면 다른 테이블에도 2)를 해보기
4) 테이블을 찾았다! 범주를 나눠서 보고싶은 필드를 찾기
5) 범주별로 통계를 보고싶은 필드를 찾기
6) SQL 쿼리 작성하기!
728x90
반응형

댓글