강의를 듣기 전 준비해야 할 링크
LeetCode - https://leetcode.com/contest/
COUNT / SUM / AVG / MIN, MAX
COUNT, AVG에서 NULL은 집계되지 않는다.
Id | Name | Visits |
1 | A | 1 |
2 | A | 2 |
3 | B | 3 |
4 | C | 5 |
5 | NULL | NULL |
SELECT COUNT(*)
FROM sample //5
SELECT COUNT(Name)
FROM sample //4
SELECT COUNT(DISTINCT Name)
FROM sample //3
Products 테이블에서 모든 제품 가격의 합 구하기
SELECT SUM(Price)
FROM Products
Products 테이블에서 제품 가격의 평균 구하기
SELECT ROUNT(AVG(Price))
FROM Products
+) 평균을 구할 때 NULL을 0으로 변환하여 계산하는 방법
SELECT SUM(Visits) / COUNT(*)
FROM sample
Products 테이블에서 최저 가격과 최고 가격 조회
SELECT MIN(Price) 최저가격
, MAX(Price) 최고가격
FROM Products
GROUP BY & HAVING
어떤 공급자가 보통 얼마의 상품을 판매하는지 TOP3 조회하기
SELECT SupplierID 공급자
, ROUND(AVG(Price)) "평균 가격"
FROM Products
GROUP BY SupplierID
ORDER BY "평균 가격"
LIMIT 3
GROUP BY에서 WHERE와 HAVING의 차이
예를 들어서 WHERE 절로 가격이 100불 이상인 것을 조회한다고 했을 때, 명령어 진행 순서상
- 가격이 100불 이상인 것 조회
- GROUP BY 명령어 실행
SELECT SupplierID
, CategoryID
, AVG(Price)
FROM Products
WHERE Price >= 100
GROUP BY SupplierID, CategoryId
HAVING 절을 사용한다면
- GROUP BY 명령어 실행 (그룹화)
- 그룹화 된 결과에서 가격이 100불 이상인 것 조회
SELECT SupplierId
, CategoryId
, AVG(Price)
FROM Products
GROUP BY SupplierId, CategoryId
HAVING Price >= 100
HACKER RANK
1.Revising Aggregations - Averages
SELECT AVG(Population)
FROM City
GROUP BY District
HAVING District = "California"
2. Revising Aggregations - The Sum Function
SELECT SUM(Population)
FROM City
WHERE District = "California"
3. Revising Aggregations - The Count Function
SELECT COUNT(District)
FROM City
WHERE Population > 100000
4. Average Population
SELECT ROUND(AVG(Population))
FROM City
5. Population Density Difference
SELECT (MAX(Population)-MIN(Population))
FROM City
6. Weather Observation Station 4
SELECT (COUNT(*) - COUNT(DISTINCT City))
FROM Station
7. Top Earners
SELECT (salary * months)
, COUNT(*)
FROM Employee
GROUP BY (salary * months)
ORDER BY (salary * months) DESC
LIMIT 1
< 기초 SQL 시리즈 >
2020/07/14 - [Database/SQL] - [백문이불여일타] 데이터 분석을 위한 기초 SQL - 1부
2020/07/14 - [Database/SQL] - [백문이불여일타] 데이터 분석을 위한 기초 SQL - 2부
2020/07/14 - [Database/SQL] - [백문이불여일타] 데이터 분석을 위한 기초 SQL - 3부 完
< 중급 SQL 시리즈 >
2020/07/15 - [Database/SQL] - [백문이불여일타] 데이터 분석을 위한 중급 SQL - 1부
2020/07/15 - [Database/SQL] - [백문이불여일타] 데이터 분석을 위한 중급 SQL - 2부
2020/07/16 - [Database/SQL] - [백문이불여일타] 데이터 분석을 위한 중급 SQL - 3부
2020/07/16 - [Database/SQL] - [백문이불여일타] 데이터 분석을 위한 중급 SQL - 4부 完
이 포스팅은 해당 강좌를 수강하며 작성하였습니다.
[백문이불여일타] 데이터 분석을 위한 중급 SQL - 인프런
SQL 중급 이론을 배우고, 실습 문제를 함께 풀어봅니다. 초급 중급이상 데이터베이스 데이터베이스 데이터 분석 SQL 데이터 분석 온라인 강의 업무에 SQL을 바로 적용할 수 있고 SQL 코딩 테스트도 �
www.inflearn.com
'Database > SQL' 카테고리의 다른 글
[백문이불여일타] 데이터 분석을 위한 중급 SQL - 3부 (0) | 2020.07.16 |
---|---|
[백문이불여일타] 데이터 분석을 위한 중급 SQL - 2부 (0) | 2020.07.15 |
[백문이불여일타] 데이터 분석을 위한 기초 SQL - 3부 完 (0) | 2020.07.14 |
[백문이불여일타] 데이터 분석을 위한 기초 SQL - 2부 (0) | 2020.07.14 |
[백문이불여일타] 데이터 분석을 위한 기초 SQL - 1부 (0) | 2020.07.14 |