데이터 분석가라는 직무를 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 - 데이터 몇 개인지 세는 것
쿼리 작성 요령
- show tables로 어떤 테이블이 있는지 살펴보기
- 제일 원하는 정보가 있을 것 같은 테이블에 select * from 테이블명 쿼리 날려보기
- 원하는 정보가 없으면 다른 테이블에도 2번을 해보기
- 테이블을 찾았다! 조건을 걸 필드를 찾기
- 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 |