본문 바로가기

개발 일지/SQL

[개발 일지] 엑셀 보다 쉬운, SQL _ 1주차

< 1주차 수업 목표 >

1) 데이터 베이스(DB)와 SQL이 왜 필요한지 이해한다. 

2) DB에서 데이터를 가져오는 기초적인 문법인 Select와 Where문을 이해한다. 

3) 조금 더 복잡한 분석을 위해 자주 사용되는 유용한 문법을 익힌다. 

 

 

 

반복적으로 써보면서 감과 원리를 익히자! 

 


 

데이터 베이스 (DB) : 여러 사람들이 같이 사용할 목적으로 데이터를 담는 통

모든 데이터 베이스는 CRUD에 해당하는 기능을 지원한다.

 

 

C (Create) : 데이터의 생성

R (Read) : 저장된 데이터를 읽어옴

U (Update) : 저장된 데이터 변경

 D (Delete) : 저장된 데이터 삭제 

 

이번 강의에서는 R (Read)에 대해서만 배웠다. 

 

SQL : Structured Query Language의 약자 

데이터베이스에 쿼리를 날려서 원하는 데이터를 가져오는 것을 도와주는 언어이다

 

SQL은 이 R (Read) 과정을 편리하게 만들어준다. + 데이터를 손쉽고 깔끔하게 정리/분석하는 기능도 지원

 


 

1) Show tables로 어떤 테이블이 있는지 살펴보기

2) 제일 원하는 정보가 있을 것 같은 테이블에 select *  from 테이블명 쿼리 날려보기 

3) 원하는 정보가 없으면 다른 테이블에도 해보기 

4) 테이블을 찾았으면, 조건에 걸 필드 찾기

5) select * from 테이블명 where 조건 사용해서 쿼리 완성

 

 

< 문법> 

 

'같지 않음' 조건 : !=

!=에서 !는 부정, =는 같음을 의미 

따라서 !=는 같지 않음을 의미한다! 

 

'범위' 조건  : Between * and 

 

'포함' 조건 : in 

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

Select * from checkins

where week in (1,3);

 

'패턴' 조건 : Like

 

필요한 문법은 그때 그때 구글링 하면 된다! 

= 'how to use ___ in SQL

 

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

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

몇 개인지 숫자 세보기: Count

 

 


[퀴즈]

 

 

Q)  결제수단이 CARD가 아닌 주문데이터만 추출해보기

SELECT * from orders

WHERE payment_method != 'CARD'

 

 

 

Q) 20000~30000 포인트 보유하고 있는 유저만 추출해보기

SELECT * FROM point_users

WHERE point BETWEEN 20000 and 30000

 

 

 

Q)이메일이 s로 시작하고 com로 끝나는 유저만 추출해보기

SELECT * FROM users

WHERE email LIKE 's%com'

 

 

 

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

SELECT * FROM users

WHERE email LIKE 's%com'and name = "이**"

 

 

 

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

SELECT * from users

WHERE name = "남**"

 

 

 

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

SELECT * from users

WHERE created_at BETWEEN "2020/07/12" and "2020/07/14"

and email LIKE "%gmail.com"

 

 

 

 

Q) 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"

 


[1주차 숙제] 

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

 

SELECT * FROM orders

where email LIKE "%naver.com"

and course_title = "웹개발 종합반"

and payment_method = "kakaopay"

 

 


확실히 반복적으로 학습 해야겠다고 느낀게, 

하다가 계속 까먹는다.

엄청 버벅거리고 .... 수영 처음 배웠을 때 기분을 제대로 다시 느꼈다.

그럼에도 불구하고 재밌다. 평소 검색하는 걸 너무 좋아하고 

컴퓨터도 엄청 좋아해서 그런지는 몰라도 

점점 지식이 쌓일 때마다 드는 성취감이 너무 좋다