본문 바로가기
백엔드/SQLD

외워야되는 명령어, 함수

by 1005ptr 2020. 11. 26.
반응형
  • (+)
    • 이쪽 값이 맞는게 없으면 맞다고 치고 값은 NULL을 넣어준다.
  • <> : != 과 같은 의미
  • NTILE
    • 데이터를 분할하는 함수, 그룹핑 함수 비슷한데
      • 사용 예시를 읽어 본 결과 계산 컬럼(등수, 등급)을 뽑아낼 때 사용하는 것으로 보인다.
      • SELECT 절에서 사용되며
      • FROM 절이 없이 SELECT 절로 조회된 데이터를 기준으로 수행된다.
      • OVER 절 안에서 사용되는 속성도 SELECT 절에 적힌 속성만 될 것 같다.(테스트 필요)
    • NTILE(4)라고 하고 데이터 100개가 조회된 경우 각각 25개씩 데이터가 나뉘어진다.
    • 조건이 없으면 자르는 기준은 데이터가 조회된 순서대로
    • 만약 NTILE(4) 했는데 데이터가 103개라면 26,26,26,25로 맨 앞에서부터 하나씩 가져가게 된다.
    • 사용 방법
      • NTILE(4) OVER(ORDER BY 직급 DESC)
        • 전체 회사에서 직급 기준으로 정렬된 목록을 4등분해서 각각 1,2,3,4를 부여한다.
      • NTILE(4) OVER(PARTITION BY 부서 ORDER BY 직급 DESC)
        • 각 부서 별로 직급 기준으로 정렬된 목록을 4등분해서 각각 1,2,3,4를 부여한다.
  • DISTINCT
    • SELECT 문에 사용되며 SELECT 문의 모든 컬럼에 적용된다.
  • LAG
    • 정렬된 데이터 기준 
  • LEAD
  • RANK OVER
  • LPAD
  • RANGE BETWEEN start_point AND end_point
    • DEFAULT 값은 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
    • UNBOUNDED PRECEDING : start_point만 들어갈 수 있으며, 파티션의 first row
    • UNBOUNDED FOLLOWING : end_point만 들어갈 수 있으며, 파티션의 last row
    • CURRENT ROW : start, end_point 둘다 가능. 윈도우는 CURRENT ROW에서 start하거나 end 함
  • TOP
    • MYSQL에서 정렬된 값 순서대로 맨위에거 몇개를 빼오는 함수
    • WITH TIES를 붙이면 TOP(3) WITH TIES일때 같은 값이 여러개 있는 경우 그것까지 포함해서 조회
      • 연봉으로 정렬했는데 3등과 4등이 연봉이 같을 경우 4줄이 조회된다.
반응형

'백엔드 > SQLD' 카테고리의 다른 글

MERGE  (0) 2020.11.27
서브쿼리  (0) 2020.11.27
정규화  (0) 2020.11.26
조인  (0) 2020.11.26
NULL과 관련된 규칙들  (0) 2020.11.25

댓글