본문 바로가기
Become Data analyst!

비전공자 SQL 독학하기 (Where절)

by 슬기로운 영어생활 2022. 1. 22.
728x90
반응형

비전공자 SQL 도전기 3탄



지난 포스팅에 이어서
Where절에 대해 연습해보겠습니다.
(SQL 개념이 궁금하시다면 Click↓)

비전공자 SQL 독학하기 (엑셀보다 쉬운 SQL)

비전공자 SQL 도전기 2탄 안녕하세요. 저는 경제학을 공부한 전형적인 문과 출신 비전공자입니다. 빠르게 변화하는 이 시대에서 살아남기 위해서 좋아하고 잘 할 수 있는 것이 무엇일지 많은 고

wisenglish.tistory.com


원하는 테이블에서
내가 필요한 조건을 부여하여
원하는 데이터를 추출하기 위해서는
Select 쿼리문에 Where 절을 함께
사용하면 되는데요.

예제를 통해 연습해보도록 하겠습니다.


쿼리문 작성해보기


쿼리문을 작성할 때에는
1) 원하는 테이블/ 2) 조건
이 두가지만 기억하면 되는데요.

예제 1

포인트가 30000점 보다 많은 유저 추출

원하는 테이블 (point_users)에서
조건 (point>30000)인 데이터를 보려면
아래와 같이 쿼리문을 작성합니다.

Select * From point_users
Where point > 30000

지난 시간에 필드 값이
문자일 경우 따옴표 ('')가 필수이지만
숫자가 나오는 경우에는 따옴표가
필요하지 않다는 점 기억해주세요.

예제 2

성이 이 씨인 유저만 추출하기

원하는 테이블 (users)에서
조건 (name = '이**')인 데이터를 보려면
아래와 같이 쿼리문을 작성합니다.

Select * From Users
Where name = '이**'

이 경우 name필드의 값들이
문자이므로 따옴표를 붙여
사용해야 하는 점 주의해주세요.

예제 3

앱 개발 종합반이면서
결제수단이 카카오페이인 데이터 추출

원하는 테이블 (orders)에서
조건 (course_title = '앱개발 종합반')이고
(payment_method = 'kakaopay)인
테이터를 보려면 아래와 같습니다.

Select * from orders
Where course_title = '앱개발 종합반'
And payment_method = 'kakaopay'

아래의 이미지에서 AND가
줄 바꿈 되어 있지는 않지만
혼동을 방지하고 보기 편하게 하기 위해
줄 바꿈을 하여 사용해도 괜찮습니다.


쿼리를 작성할 때 Tips

1) Show tables로 테이블 살펴보기
2) 원하는 정보가 있을 것 같은 Table 선택
3) 원하는 정보 없으면 다른 테이블 보기
4) 원하는 필드가 있다면 조건 걸기 (where)


Where절과 쓰이는 문법들


위의 예제들에서
필드가 ~~ 와 같을 때
우리는 '='을 활용하여
쿼리문을 작성했는데요.

그럼 같지 않을 때는 어떻게 할까요?

같지 않다는 조건을 걸 때는
간단하게 '!='로 걸 수 있습니다.

예제 4 (같지 않은 데이터)

결제수단이 'card'이 외에 데이터 추출

원하는 테이블 (orders)에서
조건 (payment_method != 'card')인
데이터를 보려면 아래와 같이
쿼리문을 작성하시면 됩니다.

Select * from oders
Where payment_method != 'card'

'!='에서의! (느낌푠)는
부정 (not)을 의미하므로
같지 않음 조건을 걸기 위해서는
느낌표를 사용하는 점 기억해주세요.

예제 5 (범위 안의 데이터)

7월 13일~19일 등록(범위) 데이터 추출하기

원하는 테이블 (enrolleds)에서
조건(created_at between 날짜 and 날짜)인
데이터를 보려면 아래와 같이
쿼리문을 작성하면 됩니다.

Select * from enrolleds
Where created_at between '2020-07-13'
And '2020-07-20'

여기서 주의할 점은
따옴표 ('')를 사용해야 하며
마지막 날짜는 '미만'을 뜻합니다.

예제 6 (포함하는 데이터)

웹개발 종합반 관련(포함) 데이터만 추출

원하는 테이블 (orders)에서
조건 (course_title in 포함 내용)인
데이터를 보려면 아래와 같이
쿼리문을 작성하시면 됩니다.

Select * from orders
Where course_title in ('웹개발 종합반')

In 문법을 사용하여
포함하고 싶은 내용을 괄호 () 안에
넣어 쿼리문을 작성하면 됩니다.

포함 내용이 숫자라면
따옴표는 필요 없고
문자라면 꼭 붙여야 한 다는 점
다들 아시죠?

예제 7 (패턴이 있는 데이터)

이메일이 a로 시작해서 gmail인 데이터

원하는 테이블 (orders)에서
조건 (like email like 시작 % 끝)인
데이터를 보려면 아래와 같이
쿼리문을 작성하시면 됩니다.

Select * from orders
Where email like 'a% gmail.com'

추출하려는 데이터에
특정한 패턴이 있다면
Like+% 문법을 활용할 수 있으며

% 앞에 특정 문자 또는 숫자를 넣으면
어떤 문자 및 숫자로 시작하는 데이터를
% 뒤에 특정 문자 또는 숫자를 넣으면
어떤 문자 및 숫자로 끝나는 데이터를
추출할 수 있다는 점 기억해주세요!


오늘은 가장 기본이 되는
SELECT/WHERE 쿼리문 작성에 대해
많은 예시로 공부해보았습니다.

잘 안되더라도 쿼리문을
직접 작성하고 수정해보면서
삽질을 해보는 게 정말 도움되네요.

위의 문법들은
정말 기초가 되는 문법들이니
원하시는 데이터를 추출할 수 있게
꼭 직접 쿼리문을 작성해보시고
감을 익히시길 바라겠습니다.

728x90
반응형

댓글