인프런 강의 [배워서 바로 쓰는 SQL 쿼리]
Database (DB)
- 데이터를 통합해 모아두는 공간이다.
- 여러 사람에 의해 공유되어 사용될 목적으로 통합해 관리되는 데이터의 집합을 말한다.
DB 종류
관계형 데이터베이스 (Relational Database, RDB)
- 데이터 저장소간 어떤 형태의 관계를 맺고 있는 체계적인 구조의 집합이다.
- 각 테이블 간의 관계는 Key 값을 기준으로 이어져있다.
- 관계를 맺는 방식 (1:1, 1:다, 다:1)
- 저장된 데이터의 품질 유지를 위해 무결성, 정합성 등을 체크해 저장한다.
- 검색 속도 확보를 위해 Index를 달아두기도 한다.
비관계형 데이터베이스
- NoSQL
- RDB와 달리 DB에 저장되기 전의 날것의 상태(json) 그대로 DB에 저장한다.
- 이러한 특성으로 주로 log 데이터를 저장하는데 사용한다.
- 빅데이터 시대이 이르러서 각광받는다.
정규화, 인덱싱 등을 거치지 않고 그대로 저장하기 때문이다. - 그러나 저장은 쉽지만, 조회가 쉽지 않다.
- SQL은 RDB에 대해서 실행이 가능하도록 만들어져 있다.
Group by
- 집계 연산자(sum, count 등)를 실행할 때 기준을 알려주는 라인이다.
having
- group by를 통해 집계한 데이터에 필터를 걸고 싶을 때 사용한다.
- sub query로 대체 가능하다.
Aggregate Function
- 집계함수란 뜻으로, 데이터를 집계하는데사용한다.
- SUM
- AVG
- MIN, MAX
- COUNT
- Substr(column, start_num, end_num) : 문자열, 날짜 데이터를 조건에 맞게 잘라준다.
- CASE WHEN ... THEN ... else ... end : 조건 설정(if) 시에 자주 쓰는 명령어
- 이 외에도 많다.
SQL Function
- distinct : 고유값
- as
- len : 길이 반환
- right, left, mid : 문자열 자르기
- upper, lower : 문자열 변환
- ifnull : null값 처리
- window 함수
- rank () over () : 순위매기기
- dense_rank () over()
- ntile : 등분하기
- datetime() : 시차조정(빅쿼리)
- cast() : 데이터타입변환(빅쿼리)
Join
- 여러 테이블을 하나로 합쳐주는 역할을 한다. 즉, 다중 테이블에서 데이터를 가져올 수 있다.
- Key(PK, FK)를 기준으로 테이블을 합치게 된다.
join의 종류
'프로그래밍' 카테고리의 다른 글
[MySQL] 명령어 (0) | 2023.09.25 |
---|---|
[Cloud] Scale-up, Scale-out (0) | 2023.05.08 |