1. ORDER BY 절
: 결과가 출력되는 순서를 조절합니다. 기본적으로 지정한 열 이름의 오름차순으로 정렬합니다
** 기본 문법
SELECT 열_이름
FROM 테이블_이름
ORDER BY 열_이름
(1) ORDER BY 열 이름 ASC
오름 차순 예약여
(2) ORDER BY 열 이름 DESC
내림 차순 예약어
* 중간 QUIZ
정답(드래그 해서 확인) : SELECT ~ FROM ~ WHERE 순서를 지키는 것은 고정이다. ORDER BY는 그 뒤에 삽입할 것
2. LIMIT
: LIMIT 절은 SELECT하는 데이터의 갯수를 제한해준다
(1) LIMIT 숫자
(2) LIMIT 시작_숫자, 개수
LIMIT 3, 2;
3등부터 2개의 숫자를 출력하도록 하게 한다.
즉 3등, 4등이 출력되도록 제한한다.
3. DISTINCT
: DISTINCT는 조회된 결과에서 중복된 데이터를 1개만 남기고 출력합니다.
** DISTINCT 구문 넣기 전과 후
4. GROUP BY ~ HAVING ~
: GROUP BY 절은 지정한 열의 데이터들을 같은 데이터끼리 묶어서 결과를 추출합니다.
SELECT 열_이름
FROM 테이블_이름
GROUP BY 열_이름
HAVING 조건식
회원(mem_id)별로 여러 건의 물건 구매가 있었고, 각각의 행들이 별도로 출력되었다.
에이핑크 회원이 구매한 물건의 총 갯수를 알기 위해선 1+2+1+1=5를 각각 합해야한다
그러나 이렇게 일일히 계산해야 한다면 MySQL의 의미가 없을 것이다.
따라서 집계 함수인 GROUP BY 를 사용해보자
- 집계 함수 (GROUP BY와 함께 주로 사용함)
함수명 | 설명 |
SUM() | 합계를 구함 |
AVG() | 평균을 구함 |
MIN() | 최소값을 구함 |
MAX() | 최대값을 구함 |
COUNT() | 행의 갯수를 셈 |
COUNT(DISTINCT) | 행의 갯수를 셈(중복 제거) |
(1) SUM()
SELECT mem_id, SUM(amount)
FROM buy
GROUP BY mem_id;
(2) HAVING
** QUIZ
총 구매가가 1000원 이상인 회원을 SELECT 하고싶어서 SELECT~ FROM~ WHERE 구문을 사용했는데 오류가 났다!
GROUP BY 구문을 사용할 땐 SELECT ~ FROM ~ HAVING 을 사용해야 한다
'ComputerScience > Database' 카테고리의 다른 글
[SQL 기초] 7. 고급 문법, MySQL의 데이터 형식 (0) | 2023.07.25 |
---|---|
[SQL 기초] 6. 기본 문법 (INSERT/UPDATE/DELETE) (0) | 2023.07.25 |
[SQL 기초] 4. 기본 문법 (SELECT문1) (0) | 2023.07.25 |
[SQL 기초] 3. 데이터 베이스 만들기 (0) | 2023.07.24 |
[SQL 기초] 2. 데이터 베이스 모델링 (0) | 2023.07.24 |