내일배움캠프_220523_TIL

Today Jeeho Learned·2022년 5월 23일
0

TIL

목록 보기
28/249

오늘 한일

  • DB강의 2주차까지 듣기
  • 1기 캠퍼분 특강
  • Spring 1주차 시작

SQL

많은 강의들이 SQL을 넘어서 DB내용까지 다루는 경우가 많은데 DB내용은 조금 필요치 않은 내용일수도있다! 왜냐면 대부분 실무에서 SQL을 쓰는 경우와 사용할줄아는 사람은 DB를 설계하는 것이 아니라, 직접 데이터를 꺼내오는 요청을 하는 경우가 대부분이다!

가져오는 연습을 많이 할 것!

  • SQL이 왜필요할까 ?첨엔 엑셀로고 괜찮아지만 근데 아주아주 서비스가잘되면방대한 양의 데이터를 저장해야하기때문이다. 그리고 신속하게 데이터를 가져 올수 있다

  • 왜 DB를 쓰는가? : 책장을 왜쓰는가? 정리하고 나중에 꺼내보기가 아주 좋기때문! 이와같은개념이다. 데이터를 잘 꺼내오기 위해서 쓰는 것이 데이터베이스!

  • CRUD중에서 보통 READ만 잘해도 주니어개발자로 충분한 역량이고 데이터를 가져오는 명령어를 작성하는 것을 SQL쿼리를 작성한다라고 한다!

  • select 쿼리문 배우기
    쿼리란? 데이터베이스에 명령을 내리는 것이다!
    select는 데이터베이스에서 데이터를 선택해서 가져오겠다! 라는 의미 그리고 뽑아내는것에는 select가 다 들어간다. select는 어떤 테이블에서 어떤 데이터를 가져오느냐로 구성

orders는 테이블이라고 하나의 큰 틀을 말하고

필드는 각 각의 항목을 말한다. order_no ,created at, course title, user_id 등등

select 쿼리문을 통해서 order 테이블의 created_at, course_tilt 과 같은 필드를 가지고와줘! 라고 명령을 내릴 수 있다.

*는 모든 것을 말함.

- WHERE 조건붙이기

SELECT문으로 데이터를 가져오는데 여기에 조건을 붙여서 원하는 데이터만 가져올수있도록 해준다!

select * from orders
where payment_method = "kakaopay";

ORDERS 테이블에서 kakaopay를 결제수단으로 사용한 조건을 거는 것이다.

여러가지 조건을 붙일수도있다. and를 활용하면 된다!

select * from orders
where course_title = "앱개발 종합반" and payment_method = "kakaopay";

조건을 두개붙여서 앱 개발 종합만을 수강하고 카카오페이로 결제한 항목들이 select 된다!

  • 효과적인 쿼리짜기
    💡 1) show tables로 어떤 테이블이 있는지 살펴보기
    2) 제일 원하는 정보가 있을 것 같은 테이블에 select from 테이블명 쿼리 날려보기
    3) 원하는 정보가 없으면 다른 테이블에도 2)를 해보기
    4) 테이블을 찾았다! 조건을 걸 필드를 찾기
    5) select
    from 테이블명 where 조건 이렇게 쿼리 완성!

where 절과 자주 같이 쓰이는 문법써보기

1) LIKE 추출해주기
형식: 필드 LIKE ‘%~~~’
A% : A로 시작하는 모든 데이터
%A : A로 끝나는 모든 데이터
%CO% : CO를 포함하는 모든데이터
a%O : A로시작하고 O로 끝나는 데이터

2) Limit 일부데이터만 가져오기

select * from orders 
where payment_method = "kakaopay"
limit 5;

사용하면 밑에 5개의 데이터가 생성된다.

3)DISTINCT : 중복제거!

select distinct(payment_method) from orders;
### ```

distinct를 사용하고 괄호안에 해당 필드값을 넣어주면 중복되는 항목없이 나온다. 

4) COUNT 

```jsx
select count(*) from orders

필드의 갯수를 세준다! 여기에 DISTINCT를 사용해서 중복없는 필드의 갯수를 구할수도있다.

select distinct(name) from users;

요런식!

범주의 통계를 내주는 GROUY BY

group by안에 count를 사용하면 name으로 묶이는 애들의 개수들을 세어주는 것이다.

1) show tables로 어떤 테이블이 있는지 살펴보기
2) 제일 원하는 정보가 있을 것 같은 테이블에 select * from 테이블명 limit 10 쿼리 날려보기
3) 원하는 정보가 없으면 다른 테이블에도 2)를 해보기
4) 테이블을 찾았다! 범주를 나눠서 보고싶은 필드를 찾기
5) 범주별로 통계를 보고싶은 필드를 찾기
6) SQL 쿼리 작성하기!

특강

til 잘 사용해서, 적어놓고서 기억보단 기록으로 하기!
모르는것은 주변의 소스(동료, 튜터님)를 이용할 것 !
혼자 끙끙 앓기보다는 해결책을 찾기!
여러사람들과 고민하고 공유하면서 튜터님들 귀찮게 하기!
+알고리즘은 감각을 잊지않도록!

profile
기록해야 (살아)남는다 !

0개의 댓글