본문 바로가기

Loopy's 개발일지

[SQL] 데이터 분석 연습 1주차

데이터 분석가라는 직무를 2년 동안하면서 주구장창 만져왔던 SQL이지만,
그만둔지 몇달이 지나가면서 까먹을 수도 있다는 생각에
SQL 강의를 들으면서 복습하고, 실무에 다시 적용할 수 있게끔 준비를 하려고 한다.

 

이왕 시작하는 김에 아주 기초적인 부분부터 시작!

 

데이터베이스란?

쉽게 말해서 많은 사람들과 함께 사용할 목적으로 데이터를 저장하는 공간.
모든 데이터베이스는 CRUD라는 기능을 지원한다.

C (Create): 데이터를 생성한다.
R (Read): 저장된 데이터를 읽어온다.
U (Update): 저장된 데이터를 변경한다.
D (Delete): 저장된 데이터를 삭제한다.

본인은 데이터 분석 직무로 일을 했었기 때문에, CRUD 중 Read, Update의 기능을 주로 썼었다.
(Create, 데이터를 만들고, 설계하는 것도 종종 했었지만 주 업무는 아니었음)

SQL의 주 기능인 Read에 대해서 강의로 배우면서, 썼던 코드들과 그에 따른 기능들을 정리하며
학습하는 시간을 가져보겠다.

1주차에서 배운 쿼리문

 

기본

  • Select - DB 테이블에서 보고싶은 데이터를 꺼내오는 쿼리문
  • From - 데이터를 꺼내올 테이블을 설정하는 쿼리문
  • Where - 가져올 데이터에 조건을 걸어주는 쿼리문

유용한 문법

  • Limit - 일부 데이터만 가져오는 것
  • Distinct - 중복 데이터 제거하고 가져오기
  • Count - 데이터 몇 개인지 세는 것

쿼리 작성 요령

  1. show tables로 어떤 테이블이 있는지 살펴보기
  2. 제일 원하는 정보가 있을 것 같은 테이블에 select * from 테이블명 쿼리 날려보기
  3. 원하는 정보가 없으면 다른 테이블에도 2번을 해보기
  4. 테이블을 찾았다! 조건을 걸 필드를 찾기
  5. select * from 테이블명 where 조건 이렇게 쿼리 완성!
## 기본 연습

select * from orders
where payment_method = 'kakaopay'

SELECT * from point_users
where point >= 5000

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

## 퀴즈
select * from point_users
where point > 20000;

SELECT * from users
where name like '%황%';

SELECT * from orders
where course_title = '웹개발 종합반' and payment_method = 'card';

SELECT * FROM orders
where payment_method != 'card';

SELECT * FROM point_users
where `point` BETWEEN 20000 and 30000;

SELECT * from users
where email like 's%com';


## Limit, Distinct, Count 써보기
SELECT * from users
where email like 's%com' and name like '%이%'
LIMIT 10;

select DISTINCT payment_method from orders;

select count(payment_method) from orders;

select count(DISTINCT(payment_method)) from orders;

## 퀴즈 2
SELECT name, email FROM users
where name like '%남%';

SELECT * FROM users
where email like '%gmail%' and created_at BETWEEN '2020-07-12' and '2020-07-14';

SELECT count(*) FROM users
WHERE email like '%gmail%' and created_at BETWEEN '2020-07-12' and '2020-07-14';


## 과제 (네이버 이메일로 웹개발 종합반을 들으면서 카카오페이로 결제한 주문 뽑기)

SELECT * FROM orders
WHERE email like '%naver%' and course_title like '%웹개발%' AND payment_method = 'kakaopay';

'Loopy's 개발일지' 카테고리의 다른 글

[SQL] 데이터 분석 연습 3주차  (0) 2023.03.08
[SQL] 데이터 분석 연습 2주차  (0) 2023.03.03
웹 개발 5주차 (최종)  (0) 2023.01.12
웹 개발 4주차  (0) 2023.01.11
웹 개발 3주차  (0) 2023.01.10