728x90
(아래 나오는 내용들은 스파르타 코딩클럽의 엑셀보다 쉬운 SQL 강의 내용을 정리한 것이다.)
1. group by
group by를 실행할 때 한 번에 group by로 묶으려고 하기 보다는 절차에 맞춰서 차근차근 진행하는 것이 중요하다.
#1. 먼저 users라는 테이블에 어떤 필드가 있는지 확인을 한 뒤,
select * from users
#2. 그룹화 하고자 하는 필드를 group by를 사용해 밑에 먼저 적어준다.
select * from users
group by name
#3. 이후 name으로 그룹화하여 개수를 세고자 할 때 아래와 같은 방법으로 진행한다.
select name, count(*) from users
group by name
한 번에 3 번을 진행하는 것 보다는 위와 같은 절차에 맞춰서 group by를 사용하면 헷갈리지 않게 사용할 수 있다.
2. order by
order by는 정렬을 해주는 기능으로, 위에서 다른 조건을 설정한 뒤 마지막에 사용하는 기능이라고 기억하면 편하다.
order by는 그냥 사용할 때 오름차순으로 정렬되며, order by x desc와 같이 뒤에 desc를 붙여주면 내림차순으로 정렬된다.
3. where, group by, order by 혼합 활용
세 가지를 사용할 때 위에서 group by를 설명한 것처럼 차례대로 절차에 맞춰서 진행하는 것이 중요하다.
#1. orders 테이블에 어떤 필드가 있는지 확인한다.
SELECT * from orders
#2. where을 사용하여 조건을 걸어준다.
select * from orders
WHERE email LIKE '%naver.com'
and course_title = '앱개발 종합반'
#3. group by를 통해 그룹화하고자 하는 항목을 묶어준다.
select payment_method ,COUNT(*) from orders
WHERE email LIKE '%naver.com'
and course_title = '앱개발 종합반'
GROUP by payment_method
4. sum, avg
sum과 avg는 특정 필드의 합과 평균을 구할 때 사용하며 아래와 같은 형식을 가진다.
또한 avg(평균)는 소수점 까지 나오기 때문에 3번 형식을 활용하여 소수점을 늘리고 줄일 수 있다.
#1. sum
SELECT course_id , sum(likes) FROM checkins c
group by course_id
#2. avg
SELECT course_id , avg(likes) FROM checkins c
group by course_id
#3. round를 활용한 avg
SELECT course_id , round(avg(likes),2) FROM checkins c
group by course_id
728x90
'SQL' 카테고리의 다른 글
-SQL 문법정리- (0) | 2023.01.20 |
---|---|
-SQL 4주차- (0) | 2023.01.19 |
-SQL 3주차- (0) | 2023.01.18 |
-SQL 1주차- (0) | 2023.01.16 |