[스파르타 코딩 클럽]액셀보다 쉬운, SQL - 1 주차 개발일지

2023. 2. 19. 12:43공부/SQL

목차

1. 학습 내용

2. 발생 이슈/고민, 해결

3. 특이사항

4. To Do

 

1. 학습 내용

 

1. 데이터베이스 

많은 양의 데이터를 저장/수정/사용하기 위해 데이터베이스가 필요하다. 

즉, 데이터베이스란 여러 사람이 같이 사용할 목적으로 데이터를 담아두는 통이라고 생각하면 된다.

데이터베이스는 C(create), R(read), U(update), D(delete) 기능을 지원한다.

액셀보다 쉬운, SQL에서는 R(read)부분에 대해서만 배운다.

 

2. SQL

SQL은 Strucured Query Language의 약자로, 데이터베이스에 요청(Query) 통해 원하는 데이터를 가져오는 것을 위한 언어이다.

 

3. Select

데이터베이스에서 어떤 데이터를 선택해서 가져오겠다는 뜻을 가진 쿼리문이다.

1) 어떤 테이블에서 2) 어떤 필드의 데이터를 가져올지로 구성되어 있다.

좌측의 쿼리문을 통하여 checkins라는 테이블의 값들을 받을 수 있다. (테이블 전체 필드의 값들이 출력됨)

select 뒤에 * 대신 필드 명을 넣어 해당 필드의 값들만을 출력할 수도 있다.

 

4. Where 

select 쿼리문으로 가져올 데이터에 조건을 걸어주는 절이다.

 

(1) 같음 (=)

where 쿼리문을 통하여 payment_method가 'kakaopay'인 데이터를 찾는다.

where 조건1 and 조건2 같은 형태로 다수의 조건을 걸어줄 수 있다.

 

(2) 같지 않음 (!=)

!= 에서 !는 not(부정)을 의미하며, course_title이 "웹개발 종합반"이 아닌 데이터를 찾는다.

 

(3) 범위 (between)

2020-07-13과 2020-07-14 사이의 created_at 값을 가진 데이터를 찾는다.

 

(4) 포함 (in)

week 값이 1, 3인 데이터를 찾는다.

 

(5) '패턴(문자열 규칙)' (like)

like 조건문의 경우 여러 사용법이 존재하는데, 

where email like 'a%'는 email 필드값이 a로 시작하는 데이터를,

where email like '%a'는 eamil 필들값이 a로 끝나는 데이터를,

where email like '%a%'는 email 필드값에 a를 포함하는 데이터를

where email like '_a%'는 email 필드값의 두번째 자리 값이 a인 데이터를,

where email like 'a_%'는 email 필드값에 a로 시작하는 최소 두글자짜리 데이터를,

where email like 'a%o'는 email 필드값이 a로 시작하여 o로 끝나는 데이터를 찾는다.

 

5. Limit

데이터 테이블을 불러오는데 너무 많은 시간이 걸리지 않도록 일부 데이터만을 찾는다.

 

6. Disinct

중복된 데이터를 제외하여 찾는다.

 

7. Count

개수를 세는 요청문

 

2. 발생 이슈/고민, 해결

* 테이블 : 데이터가 담긴 엑셀 시트와 동일하다. 

* 필드 : 위 사진의 checkin_id, created_at등이 필드이다.(column과 그 아래 값들)

->  chekins라는 테이블을 checkin_id, created_at등의 필드와 그 값들이 구성하고 있다.

* 필드의 값을 문자열 'kakaopay'와 비교해야 하지만 kakaopay라 입력할 경우 문자열값이 아닌 컬럼명으로 인식하여 오류가 생긴다. 

 

3. 특이사항

 

 

4. To Do

숙제 : naver이메일을 사용하면서, 웹개발 종합반을 신청했고, 결제는 kakaopay로 한 주문데이터 추출

where email like '%naver.com' 대신 like '%naver%'를,

course_title='웹개발 종합반' 대신 course_title like '웹개발%'을 사용해 보았다.