지난주 수업에서는 SQL의 기초적인 요소들 중 'R (Read)'를 중점적으로 배우는 목표의 수업이라는 설명을 들었고,
쿼리문을 작성하고 대충 필드, 테이블을 이용해서 Select, Where절을 꾸준히 연습해보곤 했다.
역시 반복적으로 직접 쳐보는 게 중요하다.
SQL 2주차 강의 #스파르타_코딩클럽
01. 2주차에서 배운 것 요약
- 전반적인 통계 : 최대 / 최소 / 평균 / 개수, 더욱 의미있는 '정보' 통계적인 숫자들을 결과로 나오게 하는 것
- 그래서 '범주 (category)' 각각의 정보가 궁금 할 수 있으며, 이 범주들을 묶어야 통계를 낼 수 있다.
- Group by : 동일한 범주를 갖는 데이터를 묶어서 통계를 내준다. 1) 같은 성씨 데이터를 하나로 묶고 2) 각 성씨의 회원수를 구할 수 있다. (개수 count, 최솟값 min, 최댓값 max, 평균 avg, 합계 sum)
- Order by : 출력하는 데이터를 필드의 값으로 정렬하여 출력, 보기 쉽게 데이터를 정리해보자! (마지막에 오름차순, 내림차순)
- 별칭기능 : (Alias)
02. Group by
1) 간단한 쿼리
2) count 추가
02 - 1. 범주의 통계를 내주는 Group by
: SQL 쿼리가 실행되는 순서 : from → group by → select
1) from users : users 테이블 전체를 가져온다.
2) group by name : users 테이블 데이터에서 같은 name을 갖는 데이터를 합쳐준다.
3) select name, count(*) : name에 따라 합쳐진 데이터가 각각 몇 개가 합쳐진 것인지 세어준다.
02 - 2. Group by 사용해보기
: 사용할 테이블 알아보기 > 테이블 구조 살펴보기 (필드 ex. week, likes) > 동일한 범주 개수 구하기 count(*)
1) 주차별 '오늘의 다짐'의 좋아요 최솟값 구하기
최솟값 구한 결과값
+ 응용 (최댓값 max, 평균값 avg, 합계 sum)
- round ( avg (~), 소수점 자리)
- 범주가 담긴 필드명은 week
- 합계를 알고 싶은 필드명은 likes
03. Order by로 앞의 결과 정렬하기
- 오름차순 (기본) asc
- 내림차순 desc
- Order by는 모든 SQL 쿼리에 적용될 수 있다.
- 문자, 시간도 정렬이 가능하다.
<규칙 예시>
select * from checkins
order by likes desc ;
1) 성씨별 회원수 데이터 정렬하기
2) Order by는 모든 SQL 쿼리에 적용될 수 있다.
3) 문자, 시간도 정렬이 가능하다.
04. Where와 Group by, Order by 함께 사용해보기
- 웹개발 종합반의 결제수단별 주문건수 세어보기

1. orders 테이블에서 주문 데이터를 읽어오고
2. 웹개발 종합반 데이터만 남기고
3. 결제수단(범주) 별로 그룹화하고
4. 결제수단별 주문건수를 세어준다!
05. 퀴즈
1) 퀴즈 : 앱개발 종합반의 결제수단별 주문건수 세어보기

(1) 원하는 테이블: orders
(2) 범주로 사용할 필드: payment_method
2) 퀴즈 : Gmail 을 사용하는 성씨별 회원수 세어보기

select name, count(*) from users
where email like '%gmail.com'
group by name ;
3) 퀴즈 : course_id별 '오늘의 다짐'에 달린 평균 like 개수 구해보기

select course_id, avg(likes) from checkins
group by course_id ;
06. 이외 유용한 문법 : 별칭 기능 (Alias)
07. 숙제로 마무리
: 네이버 이메일을 사용하여 앱개발 종합반을 신청한 주문의 결제수단별 주문건수 세어보기
데이터분석 종합반은 뭔가 초반부터 어려운 느낌이고, SQL은 아직까진 괜찮은 거 같다.
데이터분석 쪽을 좀 더 복습하고 틈틈히 강의를 들어야 겠다.
SQL은 파이썬 보다는 덜한 느낌! 생각보다 재미가 있다.
'STUDY > SQL, 데이터베이스' 카테고리의 다른 글
SQL 03 : Join / Union 배우기, 스파르타 코딩클럽 (0) | 2022.06.11 |
---|---|
이 시대를 살아가며 데이터를 분석하고 활용한다는 것은 / SQL 01 : 스파르타 코딩클럽 (0) | 2022.05.10 |