SQL 2주차 강의 노트정리 [국비지원_스파르타 코딩클럽]

    728x90

    스파르타 코딩클럽 SQL 2주차 강의 '핵심' 노트정리

    스파르타 코딩클럽 SQL 2주차 강의 '핵심' 노트정리

    1. 통계 : 최대 / 최소 / 평균 / 개수

    * 최대 : max(필드명)

    * 최소: min(필드명)

    * 평균: avg(필드명)

    * 개수: count(필드명)

    * 합계: sum(필드명

     


    2. Group by (그룹화 할 필드명)

    : 동일한 범주의 데이터를 하나로 묶어서, 범주별 통계를 내주는 것

    문제) 성씨 별몇 명의 회원이 있는지 알아보기 (users 테이블 참고)

     

    select name, count(*) from users
    group by name

     

    012
    group by 사용 순서

    ★쿼리문 작성 순서 중요(2번, 3번)★

     

    1. [Select * from 테이블]로 users 테이블 전체를 불러오기  

    2. Group by를 사용해서 같은 성씨(name) 별로 묶기

    3. [Select ~ from 테이블]에서 '~ 자리'읽어올 필드명 적기

    → 그룹화한 성씨(name) 데이터, 성씨(name) 별 데이터의 개수를 세주는 count(*)

    4. 성씨 별 회원 수 세주기 끝!

     

    ▶ 개수 대신에 최댓값 / 최솟값 / 평균 / 합계를 구하고 싶으면 

    count 대신 각각 max / min / avg / sum을 적어주면 됨.

     


    3. Order by (정렬할 필드명) asc / desc

    : 오름차순(asc) 또는 내림차순(desc)으로 정렬해주는 것

    ex. ↓ 위 문제의 결과로 나온 count 값을 내림차순으로 정렬 ↓

     

    order by ~ desc

     


    4. Where절과 Group by, Order by 같이 사용해보기

    문제) 앱개발 종합반결제수단 별 주문 건수 세어보고, 내림차순 정렬하기
    (orders 테이블 참고)

     

    select payment_method , count(*) from orders
    where course_title = '앱개발 종합반'
    group by payment_method 
    order by count(*) desc

     

    where절, group by, order by

     


    5. 이외 유용한 문법 배워보기

    *별칭 기능: Alias

    ex. ↓ 위 문제의 결과에서 Alias를 이용해 count(*)의 별칭cnt로 정해줌 ↓

     

    as cnt

     

    728x90

    댓글