본문 바로가기

개발/BACK

[MYSQL] 데이터베이스 조인한 테이블 데이터 삭제,수정하기 (JOIN DELETE, JOIN UPDATE)

728x90

DELETE FROM TB_BOARD WHERE SID =12; 

일반 적인 DELETE 문은 이런 형식이다

 

하지만 테이블을 조인하고 나서, 해당 테이블에 대한 DELETE 처리를 하는 방법에 대해 기술하겠다.

 

EX.1 )

DELETE B FROM TB_REPLY A INNER JOIN TB_BOARD B ON A.sid = B.sid WHERE to_char(A.creat_dt,'yyyymmdd') ='20210317' 

 

해당구문에서 DELETE 와 FROM 사이에 B라고 명시해줌으로써

2021년3월17일에 댓글이 작성된 게시글은 삭제하는 JOIN DELETE 문 예제이다.  

 


 

그럼 수정은 어떨까

JOIN UPDATE 예제이다

 

EX.2 )

UPDATE TB_BOARD B INNER JOIN TB_REPLY A ON B.SID =A.SID SET B.TITLE ='안녕하세요' WHERE to_char(A.creat_dt,'yyyymmdd') ='20210317';

 

해당 구문은 2021년3월17일에 댓글이 작성된 게시글의 제목을 안녕하세요로 변경한다.

 

정의를 해보자면

DELETE 문 )

               DELETE [삭제할 테이블] 

               FROM [테이블] A INNER JOIN [테이블] B ON A.[컬럼명] = B.[컬럼명]

               (WHERE 절) 

 

UPDATE 문 )

                UPDATE [테이블명1] A INNER JOIN [테이블명2] B
                ON A.[조인할 컬럼명] = B.[조인할 컬럼명]
                SET [변경할 컬럼명] = 변경할값

                (WHERE 절)

728x90