SQL_1주차_개발일지
쿼리란?(Query)
1) 쿼리는 질의를 의미, 데이터베이스에 명령을 내리는 것을 의미 합니다.
2) select 쿼리문은 데이터베이스에서 "데이터를 선택해서 가져오겠다.
3) 어떤 테이블에서 어떤 필드이 데이터를 가져올지 로 구성된다.
테이블 : 테이블은 데이터가 담긴 엑셀 시트와 동일하다. 데이터베이스 담기면 order라는 이름의 테이블 (밑에 테이블)
데이터베이스: 여러 사람들이 같이 사용할 목적으로 데이터를 담는 통 이다.
show tables (ctlr+실행) 테이블이 나온다.
select * from orders (*: 모든필드)
select order_no, created_at,user_id, email from orders (특정필드를 불러온다)
<입문했다!!>
필드정보
checkins: 강의실 들어오면 남기는 '오늘의 다짐'
courses: 개설 강좌 정보
enrolleds: 유저별 강좌 등록정보
enrolleds_detail: 유저별 들을 수 있는 영상과, 들었는지 여부가 들어있다.
orders: 주문 (수강등록) 정보
point_users: 유저별 포인트 점수
users: 유저 정보가
(어떤 필드가있는지 파악하는게 우선)
select * from courses
select * from enrolleds
select * from enrolleds_detail
select * from orders
select * from point_users
이렇게 만든 테이블로 시작한다!
특정 데이터 가져오기
Where 절은 , Select 쿼리문으로 가져올 데이터에 조건을 걸어준다.
<문자열에는 '작은 지칭하지 않는 문자열 ' '작은 따음표 필수 >
<줄을 잘 맞춰서 사용해야한다.!>
orders 테이블에서 결제수단이 카카오페이인 데이터만 가져와
point_users 테이블에서 포인트가 5000점 이상인 데이터만 가져와
orders 테이블에서 주문한 강의가 앱개발 종합반이면서, 결제수단이 카드인 데이터만 가져와
꿀팁
1) show tables로 어떤 테이블이 있는지 살펴보기
2) 제일 원하는 정보가 있을 것 같은 테이블에 select * from 테이블명 쿼리 날려보기
3) 원하는 정보가 없으면 다른 테이블에도 2)를 해보기
4) 테이블을 찾았다! 조건을 걸 필드를 찾기
5) select * from 테이블명 where 조건 이렇게 쿼리 완성
Where 절과 자주 같이쓰는 문법
같지 않음 !=
<예시>
select * from orders where course_title != "웹개발 종합반";
범위 between
<예시>
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';
이외 유용한 문법 배워보기
일부 데이터만 가져오기: Limit
<예시>
select * from orders
where payment_method = "kakaopay"
limit 5;
중복 데이터는 제외하고 가져오기: Distinct
<예시>
select distinct(payment_method) from orders;
몇 개인지 숫자 세보기: Count
<예시>
select count(*) from orders
Distinct와 Count를 같이 써보기
<예시>
select distinct(name) from users;
SELECT count(distinct(name)) from users;
숙제- naver 이메일을 사용하면서, 웹개발 종합반을 신청했고 결제는 kakaopay로 이뤄진 주문데이터 추출하기
<예시>
select * from orders
where email like '%naver.com'
and payment_method = 'kakaopay'
and course_title = '웹개발 종합반'
1주차 느낀점
1주차 강의 들으면서 왜 써야하는지 이걸 사용해서 어디에 응용하면 되는지 그런 의문이 생겼다. 확실히 1주차라 그런지 머리에 쏙쏙 들어왔다.