brunch

You can make anything
by writing

C.S.Lewis

by Nak Mar 21. 2024

구글스프레드시트 쿼리함수 이용하기 - 2

WHERE 조건절에는 어떤 기능들이 있을까

강의 이름은 "데이터로 소통하고 싶은 PM을 위한 구글 스프레드시트 SQL".

1화에서는 Select 명령어에 대해서 알아보았다.


Select에 대해서 좀 더 알아보고 싶다면 "구글스프레드시트 쿼리함수 이용하기 -1"을 참조하도록 하자.


https://brunch.co.kr/@chunja07/111


간단하게 복습하자면, Select 명령어는 데이터 범위에서 내가 불러오고자 하는 컬럼(열) 데이터를 반환하는 명령어이다.


Select 구문을 활용하여 표시할 열과 열의 순서를 정할 수 있다. 
모든 열을 불러오고자 할 경우에는 SELECT *을 사용한다.


2번째 시간에서는 원하는 조건의 데이터를 불러올 때 사용하는 Where 명령어에 대해 알아보도록 하자.


WHERE 명령어

조건과 일치하는 행만 반환합니다. 생략하면 모든 행이 반환됩니다.


Google Spreadsheet 매뉴얼에서 정의하는 Where 명령어에 대한 정의는 위와 같다. 


내가 원하는 조건을 입력하는 곳이 바로 Where 조건 명령어라고 생각하면 되겠다.


Where 명령어에는 위와 같은 명령어의 조건들이 들어가며, "AND" 와 "OR"을 활용하여 위의 조건절들을 조합할 수 있다.


AND: 교집합

OR: 합집합


AND와 OR의 기능은 교집합 및 합집하의 역할을 수행한다.


언제나 설명보다는 예제를 보는 것이 더 간단하니, 아래 예제를 한번 보도록 하자.


예제 데이터 셋

A1:G7의 데이터 범위를 활용하여 우리는 몇가지 조건에 맞는 데이터들을 불러오고자 한다.


Google Spreadsheet에서 Query 함수를 입력할 경우 (데이터범위, 명령어, 헤더) 3가지 인자를 넣어야 한다.(자세한 설명은 이전에 했기 때문에 생략한다)


데이터 범위는 A1:G7을 기본으로 하고, 명령어 부분에 쿼리 명령어를 작성해주면 된다.


WHERE 조건을 사용할 때 구분해야 하는 것은 바로 숫자와 텍스트에 대한 구분을 먼저 해줘야 한다.


즉, 내가 불러올 데이터가 숫자인지 아니면 텍스트인지를 구별한 후 숫자라면 OPERATOR(부등호)를 활용하고, TEXT의 경우 EQUAL 혹은 기타 조건절들을 활용하여 조건문을 작성하면 된다


1. 숫자


Operator 활용(>,<,>=,<=,=)


Operator(부등호)를 활용하여 숫자와 관련된 조건의 데이터를 불러올 수 있다.


연령대가 30살 이상인 사람의 모든 데이터


위의 조건에 해당하는 쿼리 조건문을 작성해보도록 하자.

"SELECT * WHERE E >= 30"


SELECT: 어떤 열을 불러오라는 뜻

* : 모든 열을 불러오라는 뜻

WHERE: 조건 명령어를 쓰겠다는 뜻

E >= 30: E열이 연령대 데이터가 모여있는 열이므로 30보다 큰 E열의 데이터를 불러오라는 뜻


만약 조건을 하나 더 추가하고자 한다면 어떻게 해야할까?


1) AND: 연령이 30살 이상이면서, 샐러리가 500이상인 데이터를 불러오고 싶은 경우

"SELECT * WHERE E >= 30 AND C >= 500"


2) OR: 연령이 30살 이상이고, 샐러리가 500 이상인 데이터를 불러오고 싶은 경우

"SELECT * WHERE E >= 30 OR C <= 500"


AND 와 OR은 서롱 공통된 조건의 데이터를 불러오느냐 아니면 공통되면서도 나머지에 해당하는 데이터도 불러오느냐의 차이이다.


2. 텍스트


EQUAL(=) 사용 / LIKE 활용


부서가 Sales인 모든 데이터

위의 조건에 해당하는 쿼리 조건문 작성해보도록 하자.


SELECT * WHERE B = 'Sales'


SELECT: 어떤 열을 불러오라는 뜻

* : 모든 열을 불러오라는 뜻

WHERE조건 명령어를 쓰겠다는 뜻

B='Sales' : B열 데이터 중 Sales 텍스트로 이루어진 데이터를 모두 가져오라는 뜻


B='Sales'라는 조건문이 활용된 것을 확인할 수 있다.


여기서 중요한 것은 작은따옴표가 텍스트 양옆에 존재한다는 것이다.


쿼리문에서는 쿼리문과 텍스트를 구별을 위해 


작은따옴표를 사용해야 한다. 


숫자의 경우 숫자로 인식하기 때문에 작은따옴표가 필요하지 않지만, 텍스트를 활용할 경우 꼭 작은따옴표를 써주는 것을 잊지 말자.


3. 텍스트와 숫자의 조합


부서가 Eng이고 샐러리가 800 이상인 모든 데이터를 불러오라


위와 같은 조건문을 한번 만들어보도록 하자.



아래 쿼리문을 써놓기는 하겠지만, 직접 해본 후 맞춰보도록 하자.




직접 해보세요.












"SELECT * WHERE B = 'Eng'  and C >= 800"


SELECT: 어떤 열을 불러오라는 뜻

* : 모든 열을 불러오라는 뜻

WHERE조건 명령어를 쓰겠다는 뜻

B='Sales' : B열 데이터 중 Sales 텍스트로 이루어진 데이터를 모두 가져오라는 뜻

C >= 800: C열이 샐러리 데이터가 모여있는 열이므로 800보다 큰 C열의 데이터를 불러오라는 뜻



조건문을 작성하는 것은 크게 어려운 일이 아니다.


하지만 쿼리문을 작성하며 오류가 나지 않기 위해서, 몇가지 알아둬야할 팁들이 있다.


이러한 팁들의 경우 글을 통해서 전달하기는 매우 어려운 관계로, 2달에 한번씩 5주 주기로 구글스프레드시트 쿼리 강의를 진행하며, 깨알같은 팁을 전수해주고 있다.


혹시 관심이 있다면 코멘토에서 "데이터로 소통하고 싶은 PM을 위한 구글 스프레드시트 SQL" 강의를 진행하고 있으니 많은 관심 바란다.


그럼 다음에는 한가지 조건에 만족하는 텍스트가 아닌, 텍스트 초성 등을 통해 한글자만 포함하더라도 그에 해당하는 조건값들을 불러오는 명령어에 대해 글을 써보도록 하겠다.

매거진의 이전글 엑셀 - 조건이 여러개인 sumifs 배열로 처리하기
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari