SQL

MS SQL 실무_3편

Mara7 2022. 5. 29.
LIST

1. 집계함수

- 열이 개수 합계, 평균 등을 계산하는 함수

- 특정 그룹별로 그 수치를 알아보는데 사용함.

select max(close_) as 최고가, min(close_) as 최소가, avg(close_) as 평균가
from StockPrice
where id = 40853

- ID 값이 40853인, 삼성전자의 최고가, 최소가, 평균가 알아보기

- as  : 추출한 열에 이름을 붙이는 방법

 

2. 데이터 그룹화(group by)

- select 문에서 group by절을 사용

SQL문에서 from절과 where 절 뒤에 오며 행동을 그룹화함.

 

select column_name(s)

from table_name

where condition

group by column_name(s)

-> 성별, 지역, 회사, 본부 등의 그룹을 정확히 나눌 수 있는 것으로 지정해야 함.

 

select ID
, max(close_) as 최고가, min(close_) as 최소가, avg(close_) as 평균가
, count(close_) as 거래일수
from stockprice
group by ID
order by 거래일수

- 거래일수 작은 순서에서 큰 순서로 정렬됨

- 칼럼에 대한 ALIAS는 order by 절에서 사용 가능

 -> 거래일수라는 이름을 사용하여 오름차순으로 정렬

 

select city
, sum(employees)as 고용인
, max(employees) as 최대고용
, count(*) as 회사수
from companyinfo
group by City
order by 고용인 DESC

 

3. having

- group by에서 나온 결과 중에서 원하는 조건에 부합하는 결과만 보고 싶을 떄 사용함.

- 무조건 group by 절과 함께 사용

- 조건은 where 절에 기술하지만 having 집계함수로 조건을 필터링할 때 사용

=> group by를 통해, 지정한 그룹의 집계 특성에 조건을 부여해서 결과를 봄.

 

select column_name(s)

from table_name

where condition

group by column_name(s)

having condition

 

select city
, sum(employees)as 고용인
, max(employees) as 최대고용
, count(*) as 회사수
from companyinfo
group by City
having sum(employees) >= 2000000
order by 고용인 DESC

order by 고용인, => order by sum(employees)

고용인이 sum(employees)의 ALIAS이기 때문.

order by에는 필드, 집계함수 등 모두 사용 가능함.

 

https://www.youtube.com/watch?v=OV-cPZKn1mU&list=PL1VTPqi5Xgu9pr3oK_j4ranMGEn6fKMFp&index=4 

 

반응형
LIST

'SQL' 카테고리의 다른 글

MS SQL 실무_6편  (0) 2022.06.21
MS SQL 실무_5편  (0) 2022.06.15
MS SQL 실무_4편  (0) 2022.06.06
MS SQL 실무_2편  (0) 2022.05.21
MS SQL 실무1  (0) 2022.05.14

댓글