니모의 기록/하찮은 개발일지

SQL 개발일지 (1) - 엑셀보다 쉬운 SQL 강의 1주차

전세계 맛집 유랑단 단장 2022. 2. 22. 17:37

개발일지: 이번주에 내가 배운 것을 글로 기록하는 것!

SQL은 반복적으로 써보면서 감과 원리를 익혀가는 게 중요!

DB와 SQL이 필요한 이유는?
- 데이터가 많지 않을 처음엔 엑셀로 관리해도 괜찮지만, 많아질 수록 그게 어려움. SQL을 활용하면 방대한 양의 데이터를 저장할 수 있고, 그 데이터 중에서 내가 원하는 데이터를 굉장히 신속하게 가져올 수 있다.

데이터베이스란?
- 여러 사람들이 같이 사용할 목적으로 데이터를 담는 통
(책장 -> 책을 정리해 두고 나중에 꺼내보기 위한 곳)
- 원하는 대로 데이터를 저장하고 사용하기 위해 CRUD에 해당하는 기능을 지원함
1) Create: 데이터 생성
2) Read: 저장된 데이터를 읽어오기
3) Update: 저장된 데이터를 변경
4) Delete: 저장된 데이터를 삭제

* 이번 강의에서는 Read 부분만 공부할 것! :)

** 스파르타코딩클럽 SQL 강의자료 노션

 

 

 

 

★ 먼저 DBeaver(디비버?)라는 프로그램을 다운로드 하기!

다운로드는 https://dbeaver.io/download/ 여기에 접속 후, Windows사용자는 (installer), Mac은 (dmg) 라고 되어있는 링크를 클릭하여 DBeaver를 다운로드하면 된다.

 

MySQL > 다음 > 서버 호스트에 스파르타코딩클럽 코드스니펫이 제공하는 걸 복붙 (sparta.cbt9ceqjwlr9.ap-northeast-2.rds.amazonaws.com) > 다른 곳에도 시키는 대로 써줌

 

👉 쿼리(Query)문이란? 쿼리는 질의를 의미하죠. 데이터베이스에 명령을 내리는 것을 의미합니다.

여기서 Select 쿼리문은, 데이터베이스에서 '데이터를 선택해서 가져오겠다'는 의미입니다.

 

테이블 & 필드:
- 테이블: 데이터가 담겨져 있는 표
- 필드: 카테고리 

orders 테이블의 데이터 가져와보기

select * from orders;

 

orders 테이블의 특정 필드만 가져와보기

select created_at, course_title, payment_method, email from orders;

 

 

 

예시1)
- orders 테이블에서 결제수단이 카카오페이인 데이터만 가져와!
-> select * from orders where payment_method = 'kakaopay'

작은 따옴표를 꼭 붙여주어야 함!
문자열이 아닌 orders, payment_method와 같은 테이블은 지칭하는 개념이지만, kakaopay는 필드이기 때문에 작은 따옴표가 없으면 오류 발생.

SQL 줄 맞추는 건 회사마다 다르기 때문에 맞춰서 쓰면 됨.

예시2)
- 포인트가 5000점 이상인 고객 데이터만 가져와!
-> select * from point_users where point > 5000 

예시3)

- 앱개발 종합반 중 결제수단이 카드인 유저 데이터만, 
-> select * from orders where course_title = '앱개발 종합반' and payment_method = 'CARD'

필드 영문을 대문자로 쓰는 게 나중에 볼 때 편함. 소문자로 써도 상관은 없다.

퀴즈1)
- 포인트가 20000점보다 많은 유저만 뽑아보기
-> select * from point_users where point > 20000

퀴즈2)
- 성이 황씨인 유저만 뽑아보기
-> select * from users where name = '황**'

퀴즈3)
- 웹개발 종합반 이면서 결제수단이 카드인 유저
-> select * from orders where course_title = '웹개발 종합반' and payment_method = 'CARD'

 

 

Tip 👉 like와 %를 활용하면 특정 문자열이 들어간 데이터를 찾고자 할 때 유용하다.

 

이메일 주소가 s로 시작하고 com으로 끝나는 유저 중 성이 이씨인 유저의 데이터만 추출하는 법
distinct를 활용하여 payment_method 데이터 중 중복값을 제외한 데이터만 조회
중복값은 제외하고 총 몇 개의 성씨가 있는지 확인하는 방법

 

// 1-5. 같이 삽질해보기 파트

에러를 만나더라도 그 에러를 해결해 나가려는 노력이 모여서 실력이 되는 것!
에러 메시지를 읽어보고 어디가 어떻게 잘못 되었는지 파악해보기 위한 노력을 해보는 게 중요.

 

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

select email from users
where name = '남**'

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

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

 

[1주차 마무리]
숙제: 네이버 이메일을 사용하면서, 웹개발 종합반을 신청했고, 결제는 kakaopay로 이루어진 주문 데이터 추출하기 

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

 

 

아래 링크로 수강 신청 시 5만 원 할인이 된다고 하네요! (저에게도 혜택이 있다고 합니다 ><)

스파르타코딩클럽에서 SQL 공부하기! 
👇친구 초대 이벤트 링크

https://spartacodingclub.kr/?f_name=%EC%A1%B0%EB%AF%BC%EC%A7%80&f_uid=61c51b707b3272c573ea69a2 

 

스파르타코딩클럽

왕초보 8주 완성! 웹/앱/게임 빠르게 배우고 내것을 만드세요!

spartacodingclub.kr

 

728x90
반응형