반응형
6강. SELECT 구문
- 검색
- 데이터가 저장되어 있는 테이블에서 필요한 데이터를 뽑아내는 것 (select)
- 질의(query), 추출(retrieve)
- where
- 필터 조건, ~라는 경우
- null은 데이터 값이 아니므로, 데이터값에 적용하는 연산자(=)를 적용할 수 없다.
- select 구문의 입/출력은 모두 2차원 표 (테이블)
- 폐쇄성 (closure property)
- group by, having
- 집합, 집합 조건
- order by
- 정렬
- 뷰 (VIEW)
- select 구문을 데이터베이스 안에 저장
- 데이터 저장 X
- 뷰에서 데이터를 선택하는 SELECT 구문은, 실제로는 내부적으로 ‘추가적인 SELECT 구문’을 실행하는 중첩 (nested) 구조 → 서브쿼리
7강. 조건 분기, 집합 연산, 윈도우 함수, 갱신
- SQL과 조건 분기
- SQL은 코드를 절차적으로 기술하는 것이 아니므로, 조건 분기를 ‘문장’단위로 하지 않음.
- CASE 식 으로 조건 분기 실행
- SQL의 집합 연산
- union 합집합
- intersect 교집합
- except 차집합
- 교환법칙 성립 X
- 윈도우 함수
- 집약 기능이 없는 GROUP BY 구
- 자른 후에 집약하지 않으므로 출력 결과의 레코드 수가 입력되는 테이블의 레코드 수와 같음
- .. over(partition by .. order by .. range .. rows)
- rows - 행을 기준으로 선택
- rows unbounded preceding : 맨 위부터 현재 행까지
- rows unbounded following : 현재 행부터 맨 아래 행까지
- rows 10 preceding : -10행 ~ 현재행
- rows 10 following : 현재행 ~ +10행
- range - 컬럼값 기준으로 범위 선택
- range 50 preceding : Y-50 ~ Y(현재값)
- range unbounded preceding : 최저값 ~ Y(현재값)
- range between 50 preceding and 50 following : Y-50 ~ Y(현재값) ~ Y+50
- rnage between unbounded preceding and current row : 최저값 ~ Y(현재값)
- 참고
- rows - 행을 기준으로 선택
- 트랜잭션과 갱신
- 갱신
- 삽입(insert)
- 제거(delete)
- 갱신(update)
- 머지(merge)
- 갱신
References
- SQL 레벨업 - DB 성능 최적화를 위한 SQL 실전 가이드
반응형
'Data Analysis > SQL Tuning' 카테고리의 다른 글
[SQL 레벨업] 1장. DBMS 아키텍쳐 (0) | 2023.12.13 |
---|---|
[SQL 튜닝] 기본적인 튜닝 절차 (0) | 2023.11.13 |
[SQL 튜닝] 실행계획 (0) | 2023.11.13 |
[SQL 튜닝] 기본개념 (0) | 2023.11.13 |