개발자 되는 중/개발 공부

스파르타 코딩 SQL 개발일지 1주차 (복습)

SeonChoco 2022. 10. 20. 11:26

05. 특정 데이터만 가져오고 싶다면?

예1) orders 테이블에서 결제수단이 카카오페이인 데이터만 가져와줘!

select * from orders
where payment_method = 'kakaopay'

 

예2) point_users 테이블에서 포인트가 5000점 이상인 데이터만 가져와줘!

select * from point_users
where point >= 5000

 

예3) orders 테이블에서 주문한 강의가 앱개발 종합반이면서, 결제수단이 카드인 데이터만 가져와줘!

여러 조건을 걸어주기 위해서는? 이것도 우선 따라 써 봅시다!

select * from orders o
where course_title='앱개발 종합반' and payment_method='CARD'

 

06. Where 절 같이 연습해보기

[퀴즈] 포인트가 20000점보다 많은 유저만 뽑아보기!

select * from point_users
where point > 20000

 

[퀴즈] 성이 황씨인 유저만 뽑아보기

select * from users u
where name = '황**'

 

[퀴즈] 웹개발 종합반이면서 결제수단이 CARD인 주문건만 뽑아보기!

select * from orders
where course_title ='웹개발 종합반' and payment_method = 'CARD'

 

07. Where 절과 자주 같이 쓰는 문법 써보기

'같지 않음' 조건 걸어보기

'같지 않음' 조건은 != 로 걸 수 있습니다.

'웹개발 종합반'을 제외하고 주문데이터를 보고 싶어졌어요. 어떻게 하면 좋을까요?

select * from orders
where course_title !='웹개발 종합반'

'범위' 조건 걸어보기

'범위' 조건은 between 으로 걸 수 있어요.

 7월 13일, 7월 14일의 주문데이터만 보고 싶어졌어요. 어떻게 해야 할까요?

select * from orders
where created_at between '2020-07-13' and '2020-07-15'

'포함' 조건 걸어보기

'포함' 조건은 in 으로 걸 수 있어요.

1, 3주차 사람들의 '오늘의 다짐' 데이터만 보고 싶어졌어요.

select week, comment from checkins
where week in (1,3)

'패턴' (문자열 규칙) 조건 걸어보기

'패턴' 조건은 like 으로 걸 수 있어요. 

다음 (daum) 이메일을 사용하는 유저만 보고 싶어졌어요. 어떻게 하죠?

select * from users
where email like '%daum.net'

[퀴즈] 결제수단이 CARD가 아닌 주문데이터만 추출해보기

select * from orders
where payment_method != 'CARD'

[퀴즈] 20000~30000 포인트 보유하고 있는 유저만 추출해보기

select * from point_users
where point between 20000 and 30001

[퀴즈] 이메일이 s로 시작하고 com로 끝나는 유저만 추출해보기

select * from users
where email like 's%com'

[퀴즈] 이메일이 s로 시작하고 com로 끝나면서 성이 이씨인 유저만 추출해보기

select * from users
where email like 's%com' and name like '이%'

08. 이외 유용한 문법 배워보기

13) 일부 데이터만 가져오기: Limit

select * from orders
where payment_method = 'kakaopay'
limit 5

14) 중복 데이터는 제외하고 가져오기: Distinct

select distinct(payment_method) from orders

15) 몇 개인지 숫자 세보기: Count

select count(*) from orders
where payment_method = 'kakaopay'

16) [응용] Distinct와 Count를 같이 써보기

select count(distinct(name)) from users

09. 같이 삽질해보기

기초적인 SQL의 경우, 에러 메시지를 보고 원인을 파악하여 문제를 해결해나가는 것!

10. 퀴즈 풀어보기

 

18) [퀴즈] Select 쿼리문, Where 절 연습하기

성이 남씨인 유저의 이메일만 추출하기

select name, email from users
where name like '남%'

 

19) [퀴즈] Where 절과 자주 같이쓰는 문법 연습하기

 Gmail을 사용하는 2020/07/12~13에 가입한 유저를 추출하기

select * from users
where created_at between '2020-07-12' and '2020-07-14'
and email like '%gmail.com'

 

20) [퀴즈] 이외 유용한 문법 연습하기

Gmail을 사용하는 2020/07/12~13에 가입한 유저의 수를 세기

select count(*)from users
where created_at between '2020-07-12' and '2020-07-14'
and email like '%gmail.com'

 

10. 끝 & 숙제 설명

숙제: naver 이메일을 사용하면서, 웹개발 종합반을 신청했고 결제는 kakaopay로 이뤄진 주문데이터 추출하기

 

select * from orders
where email like '%naver.com'
and course_title = '웹개발 종합반'
and payment_method = 'kakaopay'