본문 바로가기
728x90
반응형

IT/PostgreSQL29

[PostgreSQL] - 포스트그레 ROWNUM 사용법 [ROW_NUMBER() OVER(PARTITION BY ~ ORDER BY ~ ) ] #포스트그레 ROWNUM 사용법 [ROW_NUMBER() OVER(PARTITION BY ~ ORDER BY ~ ) ] #Oracle에서 사용하는 ROWNUM을 PostgreSQL에서 ROW_NUMBER() OVER() 함수로 대체해서 사용할 수 있습니다. 1. ROWNUM() OVER() 함수 쿼리 -DEPT 테이블의 ROW개수만큼 각 ROW에 순번을 매겨줍니다. SELECT ROW_NUMBER() OVER() AS ROWNUM, * FROM DEPT; -결과 1~14까지 ROWNUM이 지정된 것을 확인할 수 있습니다. 2. ROWNUM() OVER (ORDER BY ~ 컬럼) -ORDER BY절을 추가해서 정렬기준을 지정할 수 있습니다. SELECT ROW_NUMBER() OVER(ORDER BY D.. 2022. 8. 3.
[PostgreSQL] - 포스트그레 정규식 REGEXP_REPLACE 함수 사용법 #포스트그레 정규식 REGEXP_REPLACE 함수 사용법 #PostgreSQL REGEXP_REPLACE 함수 인자 설명 -첫번째 인자 : 원본데이터입니다. -두번째 인자 : 찾을 패턴을 지정합니다. -세번째 인자 : 변환하고자 하는 형태를 지정합니다. -네번째 인자 : 'g' 를 지정하면 전체 데이터 범위를 REPLACE 처리하고 생략되면 첫번째 발견한 데이터 1개만 REPLACE 처리합니다. #PostgreSQL REGEXP_REPLACE 함수 예시 쿼리입니다. SELECT REGEXP_REPLACE('A1B2C3', '[0-9]', '', 'g'); -- ABC SELECT REGEXP_REPLACE('A1B2C3', '[^0-9]', '', 'g'); -- 123 SELECT REGEXP_REP.. 2022. 8. 3.
[PostgreSQL] - 포스트그레 인덱스(index) 생성 방법 #포스트그레 인덱스(index) 생성 방법 #PostgreSQL Index Types 종류 1. B-Tree 2. Hash 3. GiST 4. SP-GiST 5. GIN 6. BRIN #PosgreSQL INDEX 생성 쿼리입니다. (B-Tree) CREATE INDEX name ON table USING BTREE (column); #emp테이블의 empno 컬럼에 인덱스를 생성하는 쿼리입니다. CREATE INDEX emp_index_1 ON emp USING BTREE (empno); #emp_index_1 인덱스가 생성된 것을 확인할 수 있습니다. 2022. 8. 2.
[PostgreSQL] - 포스트그레 계층형 쿼리(WITH RECURSIVE ~ 재귀 쿼리) 사용법 및 예제(Oracle 계층형 쿼리 대체하는 방법) #포스트그레 계층형 쿼리(WITH RECURSIVE ~ 재귀 구문) 사용법 및 예제(Oracle 계층형 쿼리 대체하는 방법) #PostgreSQL 계층형 쿼리 실습 1. 실습 테이블을 생성합니다. CREATE TABLE DEPT ( DEP_CD NUMERIC NOT NULL, -- 부서코드 PARENT_CD NUMERIC, -- 상위부서 코드 DEPT_NAME VARCHAR(100) NOT NULL, -- 부서이름 PRIMARY KEY (DEP_CD) ); 2. 실습 데이터를 생성합니다. INSERT INTO DEPT VALUES ( 101, NULL, '회사'); INSERT INTO DEPT VALUES ( 102, 101, '개발팀'); INSERT INTO DEPT VALUES ( 103, 101.. 2022. 8. 1.
[PostgreSQL] - 포스트그레 시퀀스(SEQUENCE) 생성하는 방법 #포스트그레 시퀀스(SEQUENCE) 생성하는 방법 #PostgreSQL SEQUENCE 생성 옵션 목록 CREATE SEQUENCE 시퀀스 이름 -시퀀스 생성 명령어 + 시퀀스 이름 INCREMENT BY -시퀀스 생성시 증감값(기본값 1) MINVALUE -시퀀스가 생성할 수 있는 최소값 MAXVALUE -시퀀스가 생성할 수 있는 최대값 START -시퀀스 생성시 시작값 CACHE -시퀀스 번호를 사전에 할당 해 빠른 액세스를 위해 메모리에 저장(기본값 1 캐시없음) NO CYCLE -CYCLE 사용시 MINVALUE나 MAXVALUE 도달시 시퀀스를 계속 생성 #PostgreSQL 시퀀스 생성 쿼리 CREATE SEQUENCE SEQ_EMP2 INCREMENT BY 1 MINVALUE 1 MAXVA.. 2022. 7. 28.
[PostgreSql] - 포스트그레 MERGE INTO 사용법 (WITH AS UPDATE INSERT) UPSERT문 #포스트그레 MERGE INTO 사용법 (WITH AS UPDATE INSERT) UPSERT문 #PostgreSQL MERGE INTO 문법 -WITH : 가상테이블을 지정할때 사용하는 명령어입니다. -AS ( ) : 가상테이블의 데이터를 구성할 쿼리를 소괄호안에 지정합니다. -RETURNING : UPDATE 후 반환값을 지정할 수 있습니다. (* : 전체 반환) WITH 가상테이블 AS( UPDATE 타겟테이블 타겟 SET 타겟.컬럼1 = 기준.값1 FROM 기준테이블 기준 WHERE 기준.조건컬럼1 = 타겟.조건컬럼1 RETURNING * ) INSERT INTO 타겟테이블 (컬럼1, 컬럼2) SELECT 기준.값1, 기준.값2 FROM 가상테이블 WHERE NOT EXISTS(SELECT * F.. 2022. 7. 17.
728x90
반응형