한컬럼의 값을 다른 컬럼으로 복사하기
데이터 이동 방향
dept_name = dept_code
create query
create table department( dept_id bigint, dept_code varchar(100), dept_name varchar(100) )
update query
--가장쉬운방법 update department a set dept_name = b.dept_code from department b where a.dept_id = b.dept_id -- 조인을 이용 update department a set dept_name = c.dept_code from department b, ( select dept_id, dept_code from department ) c where a.dept_id = c.dept_id -- 명시적인 inner join 이용... 은 잘 안된다.
한 테이블을 값을 이용해서 다른테이블 업데이트하기
셀렉트 쿼리처럼 해서 사용하면된다.
update user t1 set phone=t2.phone, address=t2.level from employee t2 where t1.email = t2.email
다른테이블의 값을 조인해서 다른 테이블 업데이트하기
update user t1 set phone=t2.phone, address=t2.level from employee t2, seller t3 where t1.email = t2.email and t2.email = t3.email