MySQL/혼공SQL

[SQL 기초 강의] 7강. SQL SELECT 절의 형식(ORDER BY 절과 GROUP BY 절)

묘걍 2023. 11. 8. 15:53

03-2. 좀 더 깊게 알아보는 SELECT 문

👉🏻 ORDER BY절

출처: 혼공SQL 유튜브

- SELECT ~ FROM ~ WHERE 다음으로 다양한 것이 붙을 수 있다

- 순서는 꼭 지켜야 한다

  • 결과를 정렬해서 보여준다
  • 있어도 되고 없어도 된다
    • 내용이 바뀌는 게 아니라 차례를 바꿔주는 것

🎮 ORDER BY 없이

- 가능하면 예약어를 대문자로 사용자 정의어를 소문자로

🎮 데뷔 날짜를 기준으로 (오름차순) 정렬하기

- 기본적으로는 오름차순 기준

- ASC를 명시해줘도 되고 안해줘도 되고

🎮 내림차순 기준으로 보기

🎮 순서를 지키지 않았을 경우

- 오류난다

- SELECT ~ FROM ~ HWERE ~ ORDER BY 순으로 나와야 한다

🎮 순서를 지키면

- 오류가 나지 않는다

- 잇지와 트와이스처럼 키가 같을 때 그 안에서 또 순서를 정하고 싶다면?

🎮 ORDER BY 기준 여러개 정하기

- 같은 167이어도 데뷔 날짜가 빠른 트와이스가 먼저 나온다

- 앞 조건을 먼저 따지고 같은 값이 있을 경우 그 다음 조건을 따지는 것이다

 

👉🏻 LIMIT

- 특정 갯수 만큼의 데이터만 보고 싶을 때

 

🎮 3개의 데이터만 보기

🎮 데뷔 일자가 빠른 3 그룹만 보고 싶다

- ORDER BY는 명시하지 않으면 오름차순이기 때문에 데뷔 날짜가 빠른 것 부터 정렬됨

- ORDER BY 다음에 LIMIT이 나와야한다

🧩 n번째부터 m개의 행(데이터)를 보고 싶을 경우

- 콤마(,)로 구분해준다

- n,m

🎮 3번째부터 2개의 데이터(행)

- 여자친구 3등, 마마무 4등

 

👉🏻 DISTINCT

- 중복 제거

🎮 회원들이 사는 지역 모두 보기

- 경남, 서울 등 여러번 나오는 데이터가 있음

🎮 중복 제거하고 보기

- 5군데 지역에 사는 것을 확인할 수 있다

 

👉🏻 GROUP BY절

- 그룹으로 묶어주는 것

🎮 그룹들이 몇개의 물건을 샀는지 보기

- 1 + 2 + 1 + 1 = 5... 이걸 매번 하고 있을 수 없음

- 이렇게 여러 행 말고 한 번에 보고 싶음

🧩 GROUP BY 와 자주 사용되는 집계 함수

출처: 혼공SQL 유튜브

🎮 그룹별 총 구매 갯수 보기

- 그룹 별 합계가 나온다

🎮 별칭 붙여보기

🎮 총 구매 금액 확인하기

🎮 평균 구매 개수

- 평균적으로 3개 산다

🎮 그룹별 한 회 구매시 평균 구매 개수

🎮 회원수 알아보기

- 행의 개수

🎮 연락처가 있는 회원의 수

- NULL 빼고 카운트함

🎮 회원 아이디별 총 구매 금액

🎮 총 구매 금액이 1,000이 넘는 회원만 보기

- 이렇게 하면 오류 발생!

- GROUP BY는 WHERE 절을 쓸 수 없다

 

👉🏻 HAVING

- GROUP BY 절에서 조건을 쓰고 싶을 때

🎮 총 구매 금액이 1,000이 넘는 회원만 보기

🎮 총 구매 금액이 1,000이 넘는 회원을 구매 금액 순으로 보기

- 내림차순으로

 

 

 

 

 

 

 

 

 

출처: https://youtu.be/6qkPy7RfLqQ?si=TxYv_vtJdgWAjo2B