목차
728x90
반응형
1. 관계형 데이터베이스 개요
1-1. 데이터베이스 정의
- 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것
- DBMS : 데이터베이스 관리 소프트웨어
- 데이터베이스 발전 : 플로우 차트 -> 계층형/망형 -> 관계형 -> 객체관계형
1-2. 관계형 데이터베이스
- 파일 시스템 단점
- 동시에 삽입/수정/삭제 불가능 : 데이터 관리 어려움
- 복사본 파일을 만들어 사용할 경우, 데이터의 불일치성 발생
- RDB의 장점
- 정규화를 통해 이상현상과 중복 제거
- 데이터 무결성 보장, 데이터 회복/복구 가능
- 병행 제어, 동시성 관리를 통해 데이터 공유
- 데이터 표현 방법 등을 체계화 -> 데이터 표준화, 품질 확보
2. SELECT 문
3. 함수
3-1. 단일행 함수, 다중 행 함수
단일 행 함수
- 내장함수 중 파라미터가 한 ~ 여러 개인 함수
- 추출되는 각 행마다 작업 수행
- 각 행마다 하나의 결과 반환
- select, where, order by, update-set 절에서 사용 가능
- 데이터 타입 변경 가능
- 중첩 사용 가능
다중 행 함수
- 여러 개의 행이 입력, 하나의 값 반환
- 그룹 함수가 다중 행 함수
- SUM, AVG, MAX, MIN, COUNT 등
4. WHERE 절
5. GROUP BY, HAVING 절
5-1. 집계함수
- 여러 행들로 구성된 그룹이 모여서 그룹당 하나의 결과를 돌려주는 다중 행 함수
- GROUP BY 절 : 행들을 소그룹화
- select, having, order by 절에서 사용 가능
- 주로 숫자형에서 사용 (MIN, MAX, COUNT는 문자, 날짜도 적용 가능)
- 집계함수 COUNT만 NULL 포함해서 체크
5-2. Group By 절
- 데이터들을 작은 그룹으로 분류하여 소그룹에 대한 통계정보를 얻을 때 사용
- ROLLUP이나 CUBE에 의한 소계가 계산된 결과에는 GROUPING=1이 표시됨
- 그 외 결과에는 0 표시
5-3. Group By와 Having의 특징
- Group By에 의한 소그룹별 만들어진 집계 데이터 중, Having 조건을 만족하는 내용만 출력
- 가능하면 Group By하기 전에, Where절로 계산 대상을 줄이는게 효과적
- 즉, Where절은 전체 데이터를 Group으로 나누기 전에 필요없는 조건을 미리 제거하는 역할
- Having절은 Group By로 만들어진 소그룹에 대해서만 조건임을 명심하자
5-4. Having 절
- Where절과의 차이
- Group By 뒤에 온다는 것 (앞에 사용해도 에러는 안남!!)
- 집계함수를 사용 가능 (where은 사용불가)
- Where절 조건 변경은 출력되는 레코드 개수가 변경되고, 결과 데이터 값이 변경될 가능성 O
- Having절 조건 변경은 출력되는 레코드 개수는 변경되지만, 결과 데이터 값은 변경 X
- Select-From-Having도 가능하다!!
6. ORDER BY 절
- ORDER BY에는 GROUP BY의 컬럼이나 Select의 컬럼만이 올 수 있다
- 숫자형 오름차순 -> 작은 값부터 출력 - 날짜형 오름차순 -> 빠른 날부터 출력
- [Oracle] Null값을 가장 큰 값으로, [SQL Server] Null값을 가장 작은 값으로 간주
7. 조인
8. 표준 조인
728x90
반응형
'자격증 > SQLD' 카테고리의 다른 글
[SQLD] DDL (0) | 2024.03.08 |
---|---|
[SQLD] DML, TCL (0) | 2024.03.07 |
[SQLD] 키(Key) 종류와 개념 (1) | 2024.03.06 |
[SQLD] 1. 데이터 모델링의 이해 - 데이터 모델과 SQL - 1 (0) | 2024.03.02 |
[SQLD] 1. 데이터 모델링의 이해 - 데이터 모델링의 이해 (1) | 2024.03.01 |