GROUP BY & AGGREGATE

: 테이블의 레코드를 그룹화하여 그룹별 정보들을 계산한다.

  • 그룹할 필드를 설정 후 GROUP BY field_name
  • Aggregate 함수들을 사용 가능하다.
    • COUNT, SUM, AVG, MIN, MAX, LISTAGG 등등

CTAS

: SELECT를 활용하여 테이블을 생성하는 방법, 자주 조인하는 테이블에 사용하면 편해진다.

CREATE TABLE schema_name.table_name AS SELECT ... A JOIN B ON A.id == B.id

JOIN

: 두개 혹은 그이상의 테이블들을 공통 필드를 기준으로 합치는 경우에 사용된다.

출처 : https://theartofpostgresql.com/blog/2019-09-sql-joins/

기본 구조

SELECT A.*,B.*
FROM table_name
__ JOIN table B ON A.key1 = B.key1 and A.key2 = B.key2

JOIN시 고려할 점

  • 중복 레코드와 PK의 유일성 체크
  • JOIN하는 테이블들간의 관계를 명확하게 정의해야한다. → 결과가 달라질 수 있기 떄문.
  • 베이스 테이블을 어느 테이블로 사용하는지 확인해야한다.
  • 복잡한 JOIN시에 먼저 JOIN 전략부터 수립해야한다.

NULL 비교

  • null 비교는 항상 is 또는 is not으로 수행한다.

SQL 유용한 기능

  • NULLIF(column,0)

: NULL이면 0으로 바꿔준다.

  • COALESCE(value,0)

: NULL값을 다른 값으로 바꿔주는 함수

  • 공백이나 예약키워드를 필드이름으로 사용하는 경우

: ‘ ‘를 활용해서 사용한다.

+ Recent posts