1. 조회한 데이터에 아무 값이 없다면 또는 상식적이지 않은 값을 가지고 있다면 어떻게 해야할까?
- 데이터가 없을 때의 연산 결과 변화 케이스
1) 없는 값을 제외해주기
2) 다른 값을 대신 사용하기
▷ 다른 값이 있을 때 조건문 이용하기 : if(rating>=1, rating, 대체값)
▷ null 값일 때 : coalesce(age, 대체값)
- 데이터가 상식적이지 않은 값을 가지고 있을 때
1) 조건문으로 값의 범위를 지정하기
2. 업무 시작을 단축시켜 주는 마법의 문법 (Window Function - RANK, SUM)
- Window Function의 사례와 기본 구조
Window Function은 각 행의 관계를 정의하기 위한 함수로 그룹 내의 연산을 쉽게 만들어 준다.
기본 SQL 구조로 해결하기 위해서는 복잡하게 Subquery문을 이용하거나, 여러번의 연산을 수행해줘야 하지만, 자체적으로 제공해 주는 기능을 이용하면 편리하다. 이 기능이 Window Function이다.
window_function(argument) over (partition by 그룹 기준 컬럼 order by 정렬 기준)
-- window_function : 기능 명을 사용해줍니다. (sum, avg 와 같이 기능명이 있습니다)
-- argument : 함수에 따라 작성하거나 생략합니다.
-- partition by : 그룹을 나누기 위한 기준입니다. group by 절과 유사하다고 생각해주시면 됩니다.
-- order by : window function 을 적용할 때 정렬 할 컬럼 기준을 적어줍니다.
3. 날짜 포맷과 조건까지 SQL로 한 번에 끝내기 (포맷 함수)
- SQL연산은 숫자, 문자 외에 날짜까지 가능
날짜 데이터는 년, 월, 일, 시, 분, 초 등의 값을 모두 갖고 있으며 목적에 따라 '월', '주', '일' 등으로 포맷 변경이 가능하다.
'Today I Learned (TIL) > SQL' 카테고리의 다른 글
[TIL] SQL 챌린지 - 1회차 (0) | 2024.07.15 |
---|---|
[TIL] SQL 베이직 - 1회차 (0) | 2024.07.15 |
[TIL] 엑셀보다 쉽고 빠른 SQL - 4주차 (0) | 2024.06.27 |
[TIL] 엑셀보다 쉽고 빠른 SQL - 3주차 (0) | 2024.06.26 |
[TIL] 엑셀보다 쉽고 빠른 SQL - 2주차 (0) | 2024.06.25 |