코멘토_구글시트 활용하여 SQL쿼리로 대시보드 작성하기
1주차는 다소 쉬워서 생략합니다.
- unique, randbetween, countifs, sumifs, averageifs, textjoin, date, filter 함수로 데이터 추출 진행
2주차 강의부터 복습 정리하겠습니다.
구글스프레드시트에서 쿼리문을 작성하려면 =query()로 진행합니다.
=query(범위, "쿼리문" , 헤더여부 미포함시0 포함시-1)
A1부터 G7 칸에 데이터가 있다.
모든 열을 불러오세요.
=query($A$1:$G$7, "select *" , -1)
이름, 부서열만 불러오세요.
=query(A1:G7, "select A, B", -1)
연령대가 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 ")
나이가 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")
Eng 부서가 아닌 사람들의 이름/부서/연봉 을 불러오세요.
=query(A1:G7, "select A, B, C where B != 'Eng'")
샐러리가 500이 아닌 사람들의 이름/부서를 불러오세요.
=query(A1:G7, "SELECT A, B WHERE C != 500")
이름이 'Sa'가 포함된 부서 사람들의 이름/부서를 불러오세요.
=query(A1:G7, "SELECT A, B, D WHERE B contains 'Sa'")
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'")
부서가 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'")
이름이 D로 시작하는 사람들의 이름/부서/샐러리를 불러오세요.
=query(A1:G7, "SELECT A, B, C WHERE A like 'D%'")
n이 포함된 부서 사람들의 이름/부서/샐러리를 불러오세요.
=query(A1:G7, "SELECT A, B, C WHERE B like '%n%'")
시니어시작날짜(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")
시니어시작날짜(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")
Sales 부서 사람들의 나이의 평균을 구하세요.
=query(A1:G7, "SELECT avg(E) WHERE B = 'Sales'")
시니어가 아닌 사람들의 평균 샐러리를 구하세요.
(is null 또는 not null 이용)
=QUERY(A1:G7, "SELECT avg(C) WHERE G is null")
샐러리가 600인 사람들의 숫자를 세시오.
=query(A1:G7, "SELECT COUNT(A) WHERE C >= 600")
Eng 부서가 아닌 사람들의 숫자를 세시오.
=query(A1:G7, "SELECT count(A) WHERE B!= 'Eng'")
Sales 부서 사람들 중 가장 높은 샐러리금액을 구하세요.
=query(A1:G7, "SELECT MAX(C) where B = 'Sales'")
시니어가 아닌 사람들 중 가장 낮은 연령대를 구하세요.
=query(A1:G7, "SELECT MIN(E) WHERE G is null")
Sales부서 사람들 중 30세 이상인 사람들의 샐러리 합계를 구하세요.
=query(A1:G7, "SELECT sum(C) where B = 'Sales' and E >= 30")