SQL 기초 기능

TIL Day 3

By polaris0208

SQL 기능

복잡한 연산

복습

  • 조건문 replace - 문자 변경 substring - 문자 추출 concat -문자 합성 if(조건, 충족, 충족x) case when then else end

subquery

  • 여러번의 연산을 수행(연산결과를 다른 연산에 활용 등)
  • ()사용
  • subquery를 이용하여 단계별 연산을 수행
  • 가장 안쪽에 들어갈 조건 부터 작성
  • 별명 설정을 해야 작성이 용이

join

  • 서로 다른 테이블에 있는 데이터 조회
  • 공통 컬럼을 기준으로 묶기
  • left join 하나의 테이블과 두 테이블이 공통되는 부분 조회
  • inner join 공통되는 부분만 조회 ex) 테이블1 left join 테이블2 on 테이블1.공통컬럼=테이블2.공통칼럼
  • 조회할 컬럼명에도 출처를 밝혀 적는다 ex)테이블1.컬럼
  • 중복값이 많을 수 있기 때문에 distinct 활용

오류 대처

  • 제외하고 싶은 구문에 null 활용-사용할 수 없는 데이터가 포함되면 결과값이 달라질 수 있기 때문에 중요
  • is not null - 빈 데이터 제외
  • 다른 값으로 대체 - 조건문 사용 또는 coalesce(컬럼, 대체값)
  • 상식적이지 않는 값 제거를 위해 조건문으로 범위 지정

pivot table

  • case 또는 if 조건문을 활용
  • 행축에 갈 컬럼을 가장 먼저 작성
  • 열에 들어갈 컬럼은 max, sum 등의 집계함수를 통해 묶어준다 (확인필요)

window function

  • rank() over (partition by 구분 기준 order by 순위 기준)
  • sum() over (partition by)

날짜 데이터

  • 날짜 형식의 데이터는 시계 표시
  • 날짜 형식의 데이터는 연산 가능
  • date_format(컬럼, ‘%Y’) “년” - 년월일 붙여서도 가능
  • datediff(뒤, 앞)
  • date(now()) 현재 날짜
Tags: TIL SQL