비전공자 SQL 도전기 3탄
지난 포스팅에 이어서
Where절에 대해 연습해보겠습니다.
(SQL 개념이 궁금하시다면 Click↓)
원하는 테이블에서
내가 필요한 조건을 부여하여
원하는 데이터를 추출하기 위해서는
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 쿼리문 작성에 대해
많은 예시로 공부해보았습니다.
잘 안되더라도 쿼리문을
직접 작성하고 수정해보면서
삽질을 해보는 게 정말 도움되네요.
위의 문법들은
정말 기초가 되는 문법들이니
원하시는 데이터를 추출할 수 있게
꼭 직접 쿼리문을 작성해보시고
감을 익히시길 바라겠습니다.
'Become Data analyst!' 카테고리의 다른 글
SQLD 비전공자 독학, 가장 확실한 방법을 알려드립니다 (0) | 2022.04.02 |
---|---|
나의 SQL 공부일지 (0) | 2022.01.26 |
비전공자 SQL 독학하기 (엑셀보다 쉬운 SQL) (0) | 2022.01.21 |
국비지원으로 SQL 공부하기 (feat. 내일배움카드/K-디지털 크레딧) (0) | 2022.01.17 |
댓글