일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- pointcut
- @Spring-Test
- 프로퍼티
- spring
- Dependency Injection
- java spring
- unix
- Linux
- Di
- JDBC TEMPLATE
- SpringJDBC
- XML
- Framework
- Ubunt
- Spring JDBC
- Spring Boot
- JdbcTemplate
- STS
- @AspectJ
- spring framework
- spring aop
- 컨테이너
- @test
- AOP
- 리눅스
- myBatis
- @JUnit
- POJO
- 마이바티스
- java
Archives
- Today
- Total
개키우는개발자 : )
PostgreSQL UPDATE JOIN 문 본문
반응형
UPDATE JOIN 문
UPDATE시 다른 테이블의 내용을 참조 하고 싶을 때 UPDATE JOIN 문을 사용 합니다. 복잡한 업무를 처리하는데 매우 유용한 방법 입니다.
기본문법
- UPDATE할 테이블을 작성 후 특정 컬럼을 UPDATE합니다. 참조 테이블을 작성하고 JOIN조건을 입력합니다.
UPDATE
TARGET_TABLE A
SET
A.COLUMN_1 = 표현식
FROM
REF_TABLE B
WHERE
A.COLUMN_1 = B.COLUMN_1;
실습준비
- PRODUCT_SEGMENT 테이블 생성 후 데이터 저장
CREATE TABLE PRODUCT_SEGMENT
(
ID SERIAL PRIMARY KEY,
SEGMENT VARCHAR NOT NULL,
DISCOUNT NUMERIC (4,2)
);
INSERT INTO PRODUCT_SEGMENT(SEGMENT,DISCOUNT) VALUES
('GRAND LUXURY', 0.05),
('LUXURY', 0.06),
('MASS', 0.1);
COMMIT;
할인율 테이블
- PRODUCT2 테이블 생성 후 데이터 저장
CREATE TABLE PRODUCT2
(
ID SERIAL PRIMARY KEY,
NAME VARCHAR NOT NULL,
PRICE NUMERIC(10,2),
NET_PRICE NUMERIC(10,2),
SEGMENT_ID INT NOT NULL,
FOREIGN KEY (SEGMENT_ID)
REFERENCES PRODUCT_SEGMENT(ID)
);
INSERT INTO PRODUCT2(NAME,PRICE,SEGMENT_ID)
VALUES
('K5',804.89,1),
('K7',228.55,3),
('K9',567.98,2),
('SONATA',666.55,3),
('SPARK',567.55,2),
('AVANTE',678.76,3),
('LOZTE',441.23,2),
('SANTAFE',445.66,1),
('TUSON',887.77,3),
('TRAX',789.55,2),
('ORANDO',163.66,1),
('RAY',456.66,1),
('MORNING',982.55,3),
('VERNA',207.88,1),
('K8',985.45,1),
('TICO',896.38,1),
('MATIZ',575.74,2),
('SPORTAGE',530.64,2),
('ACCENT',892.43,1),
('TOSCA',161.71,3);
COMMIT;
상품가격 테이블
실습
- UPDATE JOIN을 사용하여 PRODUCT_SEGMENT 테이블의 할인율 만큼 가격을 할인한 후 NET_PRICE 컬럼에 값을 저장
UPDATE
PRODUCT2 A
SET
NET_PRICE = A.PRICE - (A.PRICE * B.DISCOUNT)
FROM
PRODUCT_SEGMENT B
WHERE
A.SEGMENT_ID = B.ID;
COMMIT;
실제 할인이 적용된 가격을 저장
반응형
'PostgreSQL > 데이터 조작 및 테이블 관리' 카테고리의 다른 글
PostgreSQL EXPORT 작업 (0) | 2019.11.16 |
---|---|
PostgreSQL UPSERT 문법 (0) | 2019.11.16 |
PostgreSQL DELETE 문 (0) | 2019.11.16 |
PostgreSQL UPDATE 문 (2) | 2019.11.16 |
PostgreSQL INSERT 문 (0) | 2019.11.11 |
Comments