SQL

[스파르타 코딩] 엑셀보다 쉬운 SQL 2주차

문과생_코딩 2023. 3. 19. 08:05

해당 강의에서는 "group by"와 "order by"에 대하여 배웠습니다.

 

우선 해당 기능들을 잘 쓰기 위해서는 하기 절차를 지키는 것이 가장 중요합니다.

 

[기본 쿼리 작성법]

1. Show tables 입력
: 어떤 테이블이 있는지 확인

2. Select * from 테이블명
: 해당 테이블에 어떤 데이터가 있는지 확인

3. 만약 원하는 데이터가 없다면 다른 테이블명을 입력하여 확인

4. Select [범주명] from [테이블명]
원하는 데이터 범주명을 확인하여 테이블 내에서 확인

5. SQL 쿼리 작성하기

 

이 중 5. SQL 쿼리 작성하기 중 group by와 order by를 배웠습니다.

 

Q1. 앱개발 종합반의 결제수단별 주문건수 세어보기

 

select payment_method, count(*) from orders

where course_title = '앱개발 종합반'

group by payment_method

 

Select payment_method[범주명], count(*) from orders[테이블명]

group by payment_method[범주명]

 

orders라는 테이블에서 payment_method 범주를 확인하여, payment_method 별 횟수를 확인하라!

 

근데 "앱개발 종합반"만 확인하고자 한다면?

where course_title[범주명] = '앱개발 종합반'을 삽입!

 

Q2. Gmail을 사용하는 성씨별 회원수 세어보기

select name, count(*) from users

where email like '%gamil.com'

group by name

 

group by name

 

이제는 더 쉽게 이해하시겠죠?

 

select name[필드명], count(*) from users[테이블명]

where email[필드명] like '%gamil.com'

group by name[필드명]

 

Select [필드명] count(*) from [테이블명]

group by [필드명]

 

해당 뼈대를 기본으로 하여 where을 사용하여 추가 조건들을 넣는 구조입니다.

 

Q3. course_id별 '오늘의 다짐'에 달린 평균 like 개수 구해보기

Select course_id, round(avg(likes),1) from checkins

group by course_id

 

여기도 기본 구조는 똑같은데 특히한 점이 'round(avg(likes),1)'에 있습니다.

우선 round는 반올림이며, round(특정 값,1)은 소수점 첫째자리까지 반올림한 숫자를 내보내라

 

avg(likes)는 avg=average (평균)을 의미하기 때문에 likes라는 필드명의 평균값을 구하라는 의미입니다.

 

그럼 오늘은 여기까지 하겠습니다.

 

 

강의 구성 자체가 1차 강의에서 이어서 오는 구조이고, 많은 실습 내용이 포함되어 있기에 학습에 큰 도움이 되는 것 같습니다.