** Join 후 Update하기 **

 

1. 기본 예문

   UPDATE 테이블명 as A_table

          SET 업데이트할필드명  = (SELECT 선택필드

                                                     FROM 테이블명 as B_table

                                                   WHERE A_table.공통ID = B_table.공통ID);

2. Join후 Update구문

    UPDATE [테이블A] , [테이블B] b

          SET a.컬럼1 = b.컬럼1

     WHERE a.컬럼2 = b.컬럼2 ;

    

 

3. Join후 Update구문

    UPDATE 후원테이블 A INNER JOIN 회원테이블 B
                      ON A.회원아이디 = B.회원아이디
           SET B.회원등급 = 7
      WHERE B.회원등급 = 9 AND A.후원금 >= 10000 ;

 

 

4. mysql에서는 서브쿼리의 form절과 업데이트 target 모두를 같은 테이블로 사용할 수 없다
      update tbl_a
           set no = 'a'
         where seq in (
select * from ( select seq from tbl_a where x = 'b' ) as t )
     한번더 감싸준다.

 

 

 

Posted by 농부지기
,