문자 채우기
LPAD(value, Integer, String)
LPAD는 좌측부터 설정한 문자를 채운다.
value : 값 Integer : 총 길이 String : 채울 문자 select LPAD(objectid::text, 5, '0') from table; table에서 objectid의 길이를 5개로 설정하고 문자 0을 좌측부터 채움RPAD
우측부터 설정한 문자를 채운다.
그룹 내 순위 결정
ROW_NUMBER() OVER (PARTITION BY column1 ORDER BY column2)
이 함수는 partition by column1 을 기준으로 그룹을 만들고
order by column2 기준으로 정렬한다.column1 : 그룹할 컬럼명을 입력 column2 : 정렬할 컬럼을 입력아래 함수에 + OVER (PARTITION BY column1 ORDER BY column2)
- ROW_NUMBER()
정렬할 순위가 겹치는 경우 강제로 나눈다.
1등이 2명이라면 1등 2등- RANK()
정렬할 순위가 겹치는 경우 그 만큼 공백의 순위를 만든다
1등이 2명이라면 다음 순위는 3등이다.- DENSE_RANK()
정렬할 순위가 겹치는 경우와 상관 없이 순위를 만든다
1등이 2명이여도 그 다음 순위는 2등이다.-
UPDATE ~ FROM
업데이트에 다른 테이블의 컬럼이 필요한 경우 사용한다.
UPDATE tableA SET tableA.column1 = tableB.column1 FROM tableB -- WHERE 조건 가능
INSERT ~ SELECT
row를 추가할 때 다른 테이블을 검색해서 추가한다.
루프를 돌면서 insert를 하는 것 보다 빠름INSERT INTO tableA(column1,column2) SELECT column1, column3 FROM tableB -- where 조건 가능
오 ... 이제 SQL 까지 ㅋㅋ