일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 딥러닝
- 운영체제
- 언리얼학습
- C++
- html/css
- 중학수학
- 파이썬라이브러리
- 혼공머신
- pandas
- 코딩테스트
- 정수와유리수
- 텍스트마이닝
- 중학1-1
- 정보처리기사필기
- 자바 실습
- 언리얼프로젝트
- 컴퓨터구조
- 자바
- 정보처리기사실기
- 데이터베이스
- 디버깅
- numpy/pandas
- 머신러닝
- 데이터시각화
- 요구사항확인
- SQL
- 데이터분석
- 파이썬
- JSP/Servlet
- 데이터입출력구현
- Today
- Total
클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지
SQL 기본 문법 6 - 좀 더 깊게 알아보는 SELECT 문 2 : 스스로 실습해보기 본문
SELECT ~ FROM ~ WHERE 외에 ORDER BY와 GROUP BY 등 다양한 기능에 대해 살펴볼 것이다.
ORDER BY
ORDER BY 와 WHERE 절은 함께 사용할 수 있지만, 여기서는 순서가 바뀌어서 오류가 발생했다. WHERE가 먼저 나오고 ORDER BY가 나중에 나와야 한다.
이번에는 두 조건이 같을 경우 한 가지 조건을 더 추가하여 정렬해볼 것이다. 잇지와 트와이스의 키가 같아서 어느 것이 더 먼저 정렬할지 정해주어야 한다.
이렇게 정렬 기준은 1개 열이 아니라 여러 개 열로 지정할 수도 있다.
출력의 개수를 제한 : LIMIT
LIMIT 3, 2는 시작과 개수이다.
GROUP BY 절
GROUP BY 절은 그룹으로 묶어주는 역할을 한다.
구매 테이블에서 회원이 구매한 물품의 개수를 구할 수 있다. 하지만 회원별로 여러 개의 물건을 구입해서 합계를 구하기가 쉽지 않다. 이럴 때 집계 함수를 이용한다.
집계 함수
회원이 한 번 구매할 때마다 평균 몇 개를 구매하는지 알아보았다. 이번에는 각 회원이 한번 구매시 평균 몇 개를 구매하는지 알아볼 것이다.
COUNT(*)은 모든 행의 개수를 세고, COUNT(열_이름)은 열 이름의 값이 NULL인 것을 제외한 행의 개수를 센다. phone2로 지정해도 같은 결과가 나온다.
HAVING 절
결과 중에서 총 구매액이 1000 이상인 회원에게만 사은품을 증정하려면 어떻게 해야 할까? WHERE 절을 사용하면 어떻게 될지 결과를 보자.
GROUP BY에서는 WHERE를 사용할 수 없다.
HAVING을 사용할 때는 GROUP BY 절 다음에 나와야 한다.
학습을 마치고
이제 GROUP BY, ORDER BY, HAVING을 사용하여 정렬하는 법을 알게 되었다. 처음 공부할 때는 그냥 서브쿼리도 이해하지 못했고 HAVING에 WHERE를 쓸 수 없다는 것도 잘 몰랐는데 역시 복습이 정말 중요하다는 걸 느끼는 시간이었다.
너무 빨리 마치는데 중점을 두지 않고 천천히 공부해볼 것이다.
'알고리즘 및 자료 관리 > SQL' 카테고리의 다른 글
SQL 고급 문법 2 - MySQL의 데이터 형식 2 : 데이터 형식 및 데이터 형 변환 (0) | 2024.10.20 |
---|---|
SQL 기본 문법 7 - 데이터 변경을 위한 SQL 문 2 : 스스로 실습해보기 (0) | 2024.10.20 |
SQL 기본 문법 5 - 기본 중의 기본 SELECT ~ FROM ~ WHERE 3 : 스스로 실습해보기 (0) | 2024.10.20 |
실전용 SQL 미리 맛보기 5 - 데이터베이스 개체 2 : 스스로 실습해보기 (1) | 2024.10.20 |
실전용 SQL 미리 맛보기 4 - 데이터베이스 시작부터 끝까지 2 : 스스로 실습해보기 (0) | 2024.10.20 |