카테고리 없음

SQL_1주차_개발일지

jung1911 2023. 3. 16. 23:57
쿼리란?(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 테이블에서 결제수단이 카카오페이인 데이터만 가져와

patment_method 결제수단 카카오페이 데이터값이 나온다

 

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

point_users 테이블의 값에 5000점이상 값이 나온다

 

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

 

and ~이면서 or 또는

 

 

꿀팁

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;

count를 입혀주면 몇 개의 성씨가 있는지 알 수 있다.

숙제- naver 이메일을 사용하면서, 웹개발 종합반을 신청했고 결제는 kakaopay로 이뤄진 주문데이터 추출하기
<예시>
select * from orders
where email like '%naver.com'
and payment_method = 'kakaopay'
and course_title = '웹개발 종합반'

 

1주차 느낀점

1주차 강의 들으면서 왜 써야하는지 이걸 사용해서 어디에 응용하면 되는지 그런 의문이 생겼다. 확실히 1주차라 그런지 머리에 쏙쏙 들어왔다.