03-2. 좀 더 깊게 알아보는 SELECT 문
👉🏻 ORDER BY절
- 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 와 자주 사용되는 집계 함수
🎮 그룹별 총 구매 갯수 보기
- 그룹 별 합계가 나온다
🎮 별칭 붙여보기
🎮 총 구매 금액 확인하기
🎮 평균 구매 개수
- 평균적으로 3개 산다
🎮 그룹별 한 회 구매시 평균 구매 개수
🎮 회원수 알아보기
- 행의 개수
🎮 연락처가 있는 회원의 수
- NULL 빼고 카운트함
🎮 회원 아이디별 총 구매 금액
🎮 총 구매 금액이 1,000이 넘는 회원만 보기
- 이렇게 하면 오류 발생!
- GROUP BY는 WHERE 절을 쓸 수 없다
👉🏻 HAVING
- GROUP BY 절에서 조건을 쓰고 싶을 때
🎮 총 구매 금액이 1,000이 넘는 회원만 보기
🎮 총 구매 금액이 1,000이 넘는 회원을 구매 금액 순으로 보기
- 내림차순으로
출처: https://youtu.be/6qkPy7RfLqQ?si=TxYv_vtJdgWAjo2B
'MySQL > 혼공SQL' 카테고리의 다른 글
[SQL 기초 강의] 9강. MySQL의 데이터 형식(정수형, 문자형, 실수형, 날짜형)과 형 변환 (0) | 2023.11.11 |
---|---|
[SQL 기초 강의] 8강. 데이터 변경을 위한 SQL 문(INSERT, UPDATE, DELETE) (1) | 2023.11.11 |
[SQL 기초 강의] 6강. SQL 기본 문법(SELECT ~ FROM ~ WHERE) (0) | 2023.11.07 |
[SQL 기초 강의] 5강. 데이터베이스 개체(인덱스, 뷰, 스토어드 프로시저) (1) | 2023.11.07 |
[SQL 기초 강의] 4강. 데이터베이스 만들기 (1) | 2023.11.03 |