본문 바로가기

LEARNING/SQL Record

♧ Excel보다 쉬운, SQL 2 주차 수강 - group by / order by

 

       group by = 동일한 범주의 데이터를 묶어주는 것

       < < 쓰는 순서 중요! !> >

       - * 안 헷갈라기 위해서!  익숙해진다고 해도 error 확률 줄임.

 

      1) select * from orders

         group by name  → orders 테이블에서 모든 (*) 필드를 불러와서 name으로 묶어.

   

      2) select name, count(*) from order

         group by name →  orders테이블에서 모든  (*) 필드를 불러와서 name으로 묶었는데

                                       그 중에서도 name 필드를 추출해서 그것에 대한 모든 개수를 세줘.

 

      group by 와 함께 쓰는 함수

      order by = 깔끔하게 데이터 정렬

 

TIP) 세미콜론(쌍반점)을 명령문 끝마다 붙여주면 명령문이 끝났다는 것을 한눈에 보기 더 쉽다.

 

select name, count(*) from orders
group by orders
order by count(*)
내림차순, 오름차순 정렬해주는 order by
액셀에서도 필터 걸고 마지막에 정렬하기 때문에
order by도 마지막에 적어주기.
select name, count(*) from orders
group by name
order by count(*)asc (ascedning의 약자)
기본적으로 오름차순!
뒤에 오름차순을 의미하는 asc를 붙여주기.
select name, count(*) from orders
group by name
order by count(*)desc
내림차순으로 하고 싶을때는
내림차순을 의미하는 desc 붙여주기.
select * from checkins
order by likes desc
order by는 꼭 group by 와 함께 등장하는 것은 아니고
정렬을 하고자 할 때 사용하면 된다.

 

      Alias (알리아스) = 별명을 붙여주는 기능

select * from orders
where course_title = '웹개발 종합반'
이렇게 쓸 수도 있지만 
테이블이 많아지면 구분이 힘들어 지기 때문에
별칭을 붙여주기.
select * from orders o
where o.course_title = ' 웹개발 종합반'
별칭을 붙여주는거 외에도
출력되는 열 이름을 변경할 수 있음.
select payment_method.count(*) from orders
where course_title = '웹개발 종합반'
group by payment_method
<<<< 이게 기본이라면
select payment_method.count(*) as cnt from orders o
where course_title = '웹개발 종합반'
group by payment_method
이렇게 했을 때 출력되는 값을
count(*) 에서 cnt로 변경 가능.

 

   

   


      https://spartacodingclub.kr/

 

스파르타코딩클럽

5주 완성! 코딩을 전혀 모르는 비개발자 대상의 웹개발 강의

spartacodingclub.kr


 

'LEARNING > SQL Record' 카테고리의 다른 글

♧ Excel보다 쉬운, SQL 1 주차 수강! - select / where  (0) 2022.11.08