엑셀보다 쉬운 SQL 1주차

2023. 6. 1. 19:22항해99

사용목적

 

데이터를 잘 꺼내기 위해 SQL 을 사용한다.

CRUD

- Create : 데이터의 생성

- Read : 저장된 데이터를 읽어오는 것

- Update : 저장된 데이터를 변경

- Delete : 저장된 데이터를 삭제

 


SELECT

 

select 쿼리문은 어떤 테이블에서 어떤 필드의 데이터를 가져올지로 구성된다.

show tables
// 테이블 목록을 가져옴

select * from orders
// * 은 모두 라는 뜻

select order_no, created_at, user_id, email from orders
// orders 테이블의 order_no, created_at, user_id, email 를 가져와줘

WHERE

 

특정 데이터만 가져올 때 사용한다.

select 쿼리문으로 가져올 데이터의 조건을 걸어준다고 보면 된다.

 

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

select * from orders
where payment_method = 'kakaopay'
// '' 를 뺀다면 문자열이 아니게 된다.

- point_users 테이블에서 포인트가 5000 점 이상인 데이터만 가져와줘

select * from point_users
where point >= 5000
// point_users 테이블에서 point 가 5000 이상인 데이터

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

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

 

WHERE 조건

 

같지 않음

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

범위

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

포함

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

패턴

select * from users
where email LIKE '%daum.net'
// % 는 앞에 뭐가있든간에 daum.net 으로 끝나는 걸 의미

퀴즈

 

1. 포인트가 20000 점보다 많은 유저만 뽑기

select * from point_users
where point > 20000

2. 성이 황씨인 유저만 뽑기

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

3. 웹개발 종합반이면서 결제수단이 CARD 인 주문건만 뽑아보기

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

유용한 문법

 

일부 데이터만 가져오기 

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

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

select distinct(payment_method) from orders

몇 개인지 숫자 세보기

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

중복 제거 후 성씨가 몇 종류 있는지 보기

select count(distinct(name)) from users

잘 숙지하자

'항해99' 카테고리의 다른 글

엑셀보다 쉬운 SQL 3주차  (0) 2023.06.02
엑셀보다 쉬운 SQL 2주차  (2) 2023.06.01
웹개발 종합반 5주차  (0) 2023.04.09
웹개발 종합반 4주차  (0) 2023.04.08
웹개발 종합반 3주차  (0) 2023.04.08