01. 데이터 베이스와 SQL이 필요한 이유
데이터 베이스는 방대한 양의 데이터를 편하게 이용하기 위해서 있는거다.
책장에 책을 잘 정리하는 이유는 잘 꺼내서 사용하기 위해서인것 처럼
데이터 역할 4가지
C Create 데이터 생성
R Read 저장된 데이터 읽어오기
U Upgrade 저장된 데이터 변경
D Delete 저장된 데이터 삭제
이 강의에서는 Read에 대해서만 배울거다.
SQL은 데이터베이스에 명령을 내리는 데 필요한 약속된 명령이나 언어
02. Dbeaver: SQL을 손쉽게 사용하게 도와주는 프로그램
03. Select 쿼리문이란?
Query: 질의를 의미, 데이터베이스에 명령을 내리는 것
Select 쿼리: 데이터베이스에서 선택해서 가져오겠다는 의미
테이블과 필드?
테이블: 엑셀 시트에 해당
필드: 엑셀 콜럼에 해당
코드모양을 누름
파란 네모 모양을 눌러서 New script를 만듦
쌓인 원통 모양을 눌러서 sparta 폴더를 선택해줘야함 안 했더니 명령어가 안 떠서 즉문즉답 이용함
select * from orders // *은 다 선택한다는 뜻
select order_no, created_at from orders// order_no, created_at라는 이름의 필드만 가져온다
05. 특정 데이터만 가져오고 싶으면 Where
select * from orders
where payment_method = 'kakaopay' // orders는 테이블 명 payment_method는 필드명 이라 문자열이랑 다름
kakaopay는 문자열이라서 작은 따옴표 넣어줘야함
줄을 잘 맞춰야해
기준은 눈에 보기 좋게
회사마다 달라
select * from point_users
where point > =5000 // pointusers 테이블에서 point 필드에서 5000 이상인것
select * from orders
where course_title = "앱개발 종합반" and payment_method = "CARD";
// 조건을 여러 개 넣을 땐 and를 사용하면 된다.
조건에 들어가는 문자열의 대소문자는 상관이 없다. 그러나 웬만하면 딱 맞춰서 써주는 것이 보기좋다.
07. where 절과 자주 같이 쓰는 문법
같지 않음: !=
select * from orders
where course_title != "웹개발 종합반";
범위: between ~ and~ // 13일 14일만 나옴 뒤의 날짜는 포함하지 않음
select * from orders
where created_at between "2020-07-13" and "2020-07-15";
포함: in ()
select * from checkins where week in (1, 3);
패턴( 문자열 규칙): like ' % '
select * from users
where email like '%daum.net';
08. 그 외 유용한 문법
limit : 데이터 생김새만 확인하고 싶은데 데이터가 너무 방대할 때 불러올 양을 제한해줌
select*from orders
where payment_method = 'kakaopay'
limit 5
distinct: 중복 제거하고 보기
select distinct(payment_method) from orders
kakaopay
CARD
TAXBILL
MONEY
count: 갯수 세기
select count(*) from orders
where payment_method = 'kakaopay'
56
distinct & count 같이 쓰기
select count(distinct(name)) from users
54
09. 같이 삽질하기
에러 메세지 파악하고 해결하려고 하기
영어로 뜨는 에러 메세지를 잘 읽어보면 답이 나올때가 많음
10. 퀴즈
성이 남씨인 유저의 이메일만 추출하기
select email from users
where name like '남%'
Gmail을 사용하는 2020/07/12~13에 가입한 유저를 추출하기
select * from users
where email like '%gmail.com'
and created_at between '2020-07-12' and '2020-07-14'
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'
11. 숙제: naver 이메일을 사용하면서, 웹개발 종합반을 신청했고 결제는 kakaopay로 이뤄진 주문데이터 추출하기
select * from orders
where email like '%naver.com'
and course_title = '웹개발 종합반'
and payment_method = 'kakaopay'
'개발자 되는 중 > 개발 공부' 카테고리의 다른 글
스파르타 코딩 SQL 개발일지 3주차 (1) | 2022.09.22 |
---|---|
스파르타 코딩 SQL 개발일지 2주차 (0) | 2022.09.20 |
스파르타 코딩 웹 개발 개발일지 3주차 (0) | 2022.08.27 |
스파르타 코딩 웹 개발 개발일지 2주차 (1) | 2022.08.26 |
스파르타 코딩 웹 개발 개발일지 1주차 (0) | 2022.08.22 |