환영합니다

중급 SQL Server

Ginger Grant

Instructor

과정 개요

  • 챕터 1: 데이터 요약

  • 챕터 2: 날짜 및 수학 함수

  • 챕터 3: T-SQL로 데이터 처리

  • 챕터 4: 윈도우 함수

중급 SQL Server

집계로 데이터 탐색

  • 각 열의 요약 값을 검토하는 것은 데이터 분석의 일반적인 첫 번째 단계입니다

  • 데이터가 데이터베이스에 있다면, SQL을 사용한 집계가 가장 빠릅니다

중급 SQL Server

EconomicIndicators로 데이터 탐색

SELECT Country, Year, InternetUse, GDP,
       ExportGoodsPercent, CellPhonesper100 
FROM EconomicIndicators
+-----------+-----+------------+------------+------------------+-----------------+
|Country    |Year |InternetUse | GDP        |ExportGoodsPercent|CellPhonesper100 | 
+-----------+-----+------------+------------+------------------+-----------------+
|Swaziland  |2011 |20.43165813 |7335004354  |56.30476059       |63.7015615       |
|Sweden     |2011 |90.88204559 |394271163688|49.93022195       |118.5711258      |
|Switzerland|2011 |82.98773087 |395111518596|51.20242546       |130.0623629      |
...
+-----------+-----+------------+------------+------------------+-----------------+
중급 SQL Server

주요 요약 통계 함수

  • MIN(): 열의 최솟값
  • MAX(): 열의 최댓값
  • AVG(): 열의 평균값
중급 SQL Server

T-SQL의 주요 요약 통계 함수

이 T-SQL 쿼리는 InternetUse 열의 집계 값을 반환합니다

SELECT AVG(InternetUse) AS MeanInternetUse, 
MIN(InternetUse) AS MINInternet, 
MAX(InternetUse) AS MAXInternet 
FROM EconomicIndicators

+-------------------+------------+-------------+ |MeanInternetUse |MINInternet | MAXInternet| |-------------------+------------+-------------| | 18.9854496196171| 0 | 375.5970064| +-------------------+------------+-------------+
중급 SQL Server

WHERE로 요약 데이터 필터링

이 T-SQL 쿼리는 WHERE 절을 사용하여 집계 값을 필터링합니다
텍스트 값은 다음과 같이 입력합니다

SELECT AVG(InternetUse) AS MeanInternetUse, 
MIN(InternetUse) AS MINInternet, 
MAX(InternetUse) AS MAXInternet 
FROM EconomicIndicators
WHERE Country = 'Solomon Islands'
+-------------------+------------+-------------+
|MeanInternetUse    |MINInternet |  MAXInternet|
|-------------------+------------+-------------|
|            1.79621|          0 |         6.00|
+-------------------+------------+-------------+
중급 SQL Server

GROUP BY로 집계 그룹화

SELECT Country, AVG(InternetUse) AS MeanInternetUse, 
MIN(InternetUse) AS MINInternet, 
MAX(InternetUse) AS MAXInternet 
FROM EconomicIndicators
GROUP BY Country
+--------------------+------------------+------------+-------------+
|  Country           |MeanInternetUse   |MINInternet |  MAXInternet|
|--------------------+------------------+------------+-------------|
|Solomon Islands     |           1.79621|           0|         6.00|
|Hong Kong           |          245.1067|           0|       375.00|
|Liechtenstein       |           63.8821|     36.5152|        85.00|
...
+--------------------+------------------+------------+-------------+
중급 SQL Server

HAVING: 집계를 위한 WHERE

WHEREGROUP BY와 함께 사용할 수 없으며, 오류가 발생합니다

-- This throws an error
...
GROUP BY
WHERE Max(InternetUse) > 100  

대신 HAVING을 사용합니다

-- This is how you filter with a GROUP BY
...
GROUP BY
HAVING Max(InternetUse) > 100
중급 SQL Server

HAVING: 집계를 위한 WHERE

SELECT Country, AVG(InternetUse) AS MeanInternetUse, 
MIN(GDP) AS SmallestGDP,
MAX(InternetUse) AS MAXInternetUse
FROM EconomicIndicators
GROUP BY Country
HAVING MAX(InternetUse) > 100
+--------------+-------------------+-------------+---------------+
|Country       |MeanInternetUse    |SmallestGDP  | MAXInternetUse|
|--------------+-------------------+-------------+---------------|
|Macedonia     |   71.3060150792857| -0.465059948|    110.5679538|
|Hong Kong     |   245.106718614286|            0|    375.5970064|
|Congo         |   60.8972476010714| -9.492757847|    104.6455529|
...
+--------------+-------------------+-------------+---------------+
중급 SQL Server

Incidents 테이블의 UFO 데이터 살펴보기

  • 이 실습에서는 Mutual UFO Network에서 수집한 데이터를 탐색합니다
  • 전 세계에서 목격된 UFO 데이터가 Incidents 테이블에 저장되어 있습니다
중급 SQL Server

연습해 봅시다!

중급 SQL Server

Preparing Video For Download...