[SQL] 학교 밖에서 듣는 전공필수 SQL/DB Essentials - 3주차
- 쿼리는 표현력이 좋은 언어이다. 즉, 프로그래머의 능력이 좋으면 좋을수록 다양한 질의를 만들 수 있고, 그 중 가장 성능이 좋은 쿼리를 찾아낼 수 있다.
[3주차 강의 내용]
1. 검색문
- Group by
- Having 절은 그룹을 필터링할 때 사용
- pk는 그룹핑 기준 컬럼으로 사용하면 안됨.
- unique하기 때문에 그룹으로 묶을 수 없음
- Order by
- 정렬
- null 값이 먼저 나옴
- 컬럼 위치로도 사용 가능 (ex. order by 2 desc, 4)
- select 에서 선택한 컬럼이 아니어도 정렬 가능
-> 그러나 group by 랑 같이 사용하게 되면 select 목록으로 선택하지 않은 컬럼은 order by 절에 사용 불가
- limit
- 투플 출력 제한
- limit 3,4 (4번째부터 4개 출력 (4,5,6,7))
- Top-N
- 윈도우 함수
- ROW_NUMBER() : pagination
- RANK() : 동점자 처리
- 갱신문
- DDL / DML 차이
- DDL : auto commit. 트랜잭션 로그에 안남음
- DML : commit 직접 실행 필요. 트랜잭션 로그에 기록
- 단일행 내장 함수