엑셀보다 쉬운 SQL - 1주차(Select, Where)

dlfpire·2023년 3월 21일
0

스파르타코딩클럽

목록 보기
1/4

<데이터베이스>
: 여러 사람들이 같이 사용할 목적으로 데이터를 담는 통
-> CRUD 기능 지원
C (Create) : 데이터의 생성
R (Read) : 저장된 데이터를 읽어오는 것
U (Update) : 저장된 데이터 변경
D (Delete) : 저장된 데이터 삭제

: 데이터를 읽어오는 과정인 R을 굉장히 편하게 해주고 데이터를 쉽고 깔끔하게 정리/분석하는 기능 지원

보기 편하게 정리해야함! 눈에 보기 편하게!! 회사마다 다름

select * from orders
where payment_method = 'kakaopay' => 문자열일 경우 작은 따옴표 꼭 붙여야함

그리고 : where ~ and ~
또는 : where ~ or ~

show tables : 어떤 테이블이 있는지 확인할 수 있음

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'

1) 같지 않음 : **!=** 2) 범위 (7월 13일, 7월 14일의 주문데이터만 보려면?) where ~ **BETWEEN** '2020-07-13' **and** '2020-07-15' 3) 포함 (week가 1,3 주차만 보기) where week **in** (1,3) 4) 패턴 (문자열 규칙, daum 이메일만 사용하는 유저만 보려면?) where email **like** '**%**daum.net' % : ~~daum.net 으로 끝나는 문자열 <퀴즈> 1) 결제수단이 CARD가 아닌 주문데이터 where payment_method != 'CARD' 2) 포인트가 20000에서 30000인 유저 where point BETWEEN 20000 and 30000 3) 이메일이 s로 시작해서 com으로 끝나는 유저 where email like 's%com' 4) 이메일이 s로 시작해서 com으로 끝나면서 성이 이씨인 유저 where email like 's%com' and name = '이**' SELECT * FROM orders where payment_method = 'kakaopay' **limit 5** : 5개만 보기 => 방대한 데이터를 쓸 때 유용함 SELECT **DISTINCT** payment_method FROM orders

<Count : 몇 개인지 세보기>
SELECT count(*) from orders

<Distinct와 Count 응용>
SELECT count(DISTINCT name)from users

<퀴즈>
  1) 성이 남씨인 유저의 이메일만 추출하기
    select email from users
    where name = '남**'
  2) Gmail을 사용하는 2020/07/12~13에 가입한 유저를 추출하기
    select * from users
    where email like '%gmail.com' and
    created_at BETWEEN '2020-07-12' and '2020-07-14'
  3) 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'

0개의 댓글