IT & Marketing/엑셀, 구글스프레드시트 등

[구글 스프레드시트] SQL Query문을 구글스프레드 시트에서~

Nature_^^ 2021. 5. 14. 17:32

 

구글 스프레드시트에서 <QUERY 함수>를 통해 SQL 쿼리문과 같은 기능을 사용할 수 있다. 

 

 

query 함수는 아래와 같이 사용.

= query(사용할 데이터 범위 설정 쿼리문)

 

 

필자는 SQL문을 어디에 사용했느냐,   

매주 상품별로 발주를 넣는데, 100개가 넘는 브랜드 중 팀원마다 맡은 브랜드가 있다.

각 팀원별로 맡은 브랜드만 확인하면 되니까 Query 함수를 써서 해당 브랜드만 각 담당자별 시트탭에 데이터를 뿌려줬다.

 

 

↓실제 시트 화면

 

 

우선 상품별로 발주가 필요한지 여부를 체크해 주는 '상태부여' 탭을 만들고

(한달 동안 판매된 수량과 재고 수량 비교하여 발주할 수량 정해줌)

 

 

 

각 담당자들 탭에 query 문으로 데이터 뿌려주기

 

=QUERY('상태 부여'!A2:I,"select * where B='에뛰드 하우스' or B='잇츠스킨' or B='미샤' or B='더페이스샵' order by B ")

 

이렇게 사용했는데 이 의미는

 

= QUERY(사용할 데이터 범위 설정 쿼리문)

= QUERY('상태 부여'시트탭에 A2:I 범위에서 데이터 다 가져올건데,   조건이 있어!! B 열에 있는 단어가 '에뛰드 하우스' 이거나 '잇츠스킨' 이거나 '미샤' 이거나 '더페이스샵'  인것만 가져와줘 .  그리고 B열 기준 오름차순으로 정렬해줘. )

 

 

이런 의미다.

 

 

만약, 조건문에 포함해야할 단어가 100개중에 98 개면  

위에 쿼리문 처럼 or 로 98개를 연결시키는 것보다는 

나머지 2개의 단어를 제외 시키는게 낫다. 

아래처럼.

 

=QUERY('상태 부여'!A2:I,"select * where  A!='' and B!='토니모리' and B!='이니스프리' order by B")

 

이렇게 쓴 것의 의미는

 

QUERY('상태 부여'시트탭에 A2:I 범위에서 데이터 다 가져올건데,   조건이 있어!! A열은 빈칸이면 안되고,  B열에 있는 단어가 '토니모리' 이면 안되고,  '이니스프리' 이면 안돼.  그리고 B열 기준 오름차순으로 정렬해줘. )

 

이런 의미다.

 

 

참고)  !=   같지않다는 의미

         ''   작은따옴표 2개 쓰면 빈칸을 의미 

       select *    모두 선택한다는 의미

       where     조건문의 시작

       order by   오름차순 정렬

       order by desc  내림차순 정렬