[구글시트활용 SQL쿼리_대시보드제작]_2_ 구글시트에서 query함수로 데이터 추출하기 (SELECT, >=, !=, like%, avg, sum, count, max, min)

Hyejin Beck·2024년 2월 24일
0

Excel & Sheet

목록 보기
19/22

코멘토_구글시트 활용하여 SQL쿼리로 대시보드 작성하기

1주차는 다소 쉬워서 생략합니다.

  • unique, randbetween, countifs, sumifs, averageifs, textjoin, date, filter 함수로 데이터 추출 진행

2주차 강의부터 복습 정리하겠습니다.

구글스프레드시트에서 쿼리문을 작성하려면 =query()로 진행합니다.

=query(범위, "쿼리문" , 헤더여부 미포함시0 포함시-1)

데이터 추출

A1부터 G7 칸에 데이터가 있다.

SELECT

모든 열을 불러오세요.

=query($A$1:$G$7, "select *" , -1)

이름, 부서열만 불러오세요.

부등호

=query(A1:G7, "select A, B", -1)

operators(>=,<=)

연령대가 25 초과 30미만인 사람들의, 이름/부서/연령대를 불러오세요.

=query(A1:G7,"select A,B,E where E > 25 and E < 30")

샐러리가 500이상인 사람들의 부서와 샐러리를 불러오세요.

=query(A1:G7, "select B, C where C >= 500 ")

equal (=)

나이가 25살이상이고 Sales 부서 사람들의 이름/부서/샐러리를 불러오세요

=query(A1:G7, "select A, B, C where B = 'Sales' and E >= 25")

샐러리가 1000미만인, Eng 부서 사람들의 이름/샐러리를 불러오세요.

=query(A1:G7, "select A, C where B = 'Eng' and  C < 1000")

not equal(!=,<>)

Eng 부서가 아닌 사람들의 이름/부서/연봉 을 불러오세요.

=query(A1:G7, "select A, B, C where B != 'Eng'")

샐러리가 500이 아닌 사람들의 이름/부서를 불러오세요.

=query(A1:G7, "SELECT A, B WHERE C != 500")

텍스트 포함

contains 포함

이름이 'Sa'가 포함된 부서 사람들의 이름/부서를 불러오세요.

=query(A1:G7, "SELECT A, B, D WHERE B contains 'Sa'")

Starts with 시작

E로 시작하는 부서 사람들의 이름/부서/샐러리를 불러오세요.

=query(A1:G7, "SELECT A, B , C WHERE B starts with 'E'")

D로 시작하면서 Eng부서가 아닌 사람들의 이름/부서/샐러리를 불러오세요.

=query(A1:G7, "SELECT A, B, C WHERE A starts with 'D' and B != 'Eng'")

Ends with 끝

부서가 g로 끝나는 사람들의 이름/부서/샐러리를 불러오세요.

=query(A1:G7, "SELECT A, B, C where B ends with 'g'")

이름이 n으로 끝나면서 Eng부서가 아닌, 사람들의 이름/부서/샐러리를 불러오세요.

=query(A1:G7, "SELECT A, B, C WHERE A ends with 'n' and B != 'Eng'")

like %

이름이 D로 시작하는 사람들의 이름/부서/샐러리를 불러오세요.

=query(A1:G7, "SELECT A, B, C WHERE A like 'D%'")

n이 포함된 부서 사람들의 이름/부서/샐러리를 불러오세요.

=query(A1:G7, "SELECT A, B, C WHERE B like '%n%'")

is (not) null 결측값

시니어시작날짜(G열)가 빈 값인 데이터의 이름/부서/시니어여부 를 불러오세요.

=query(A1:G7, "SELECT A,B,F WHERE G is null")

시니어시작날짜(G열) 중 결측값이 없는 정상적인 데이터의 이름/부서를 불러오세요.

=query(A1:G7, "SELECT A,B,C WHERE G is not null")

date 날짜

시니어시작날짜(G열)가 2005년 12월 31일 이후인 사람들의 이름/연봉을 불러오세요.

=query(A1:G7, "SELECT A, C WHERE G > date'2005-12-31' ")

시니어시작날짜(G열)가 2007년도인 사람들의 이름/연봉을 불러오세요.

=query(A1:G7, "SELECT A, C, G WHERE year(G) = 2007")

aggregation 계산

avg 평균

Sales 부서 사람들의 나이의 평균을 구하세요.

=query(A1:G7, "SELECT avg(E) WHERE B = 'Sales'")

시니어가 아닌 사람들의 평균 샐러리를 구하세요.
(is null 또는 not null 이용)

=QUERY(A1:G7, "SELECT avg(C) WHERE G is null")

count 셈

샐러리가 600인 사람들의 숫자를 세시오.

=query(A1:G7, "SELECT COUNT(A) WHERE C >= 600")

Eng 부서가 아닌 사람들의 숫자를 세시오.

=query(A1:G7, "SELECT count(A) WHERE B!= 'Eng'")

max와 min (최대값,최소값)

Sales 부서 사람들 중 가장 높은 샐러리금액을 구하세요.

=query(A1:G7, "SELECT MAX(C) where B = 'Sales'")

시니어가 아닌 사람들 중 가장 낮은 연령대를 구하세요.

=query(A1:G7, "SELECT MIN(E) WHERE G is null")

sum 합계

Sales부서 사람들 중 30세 이상인 사람들의 샐러리 합계를 구하세요.

=query(A1:G7, "SELECT sum(C) where B = 'Sales' and E >= 30")

profile
데이터기반 스토리텔링을 통해 인사이트를 얻습니다.

0개의 댓글

관련 채용 정보