join은 테이블을 합칠때 사용하는 방법이다.
테이블을 합치기 위해서는 두 테이블 데이터간에 겹침(공유)이 필요하다.
테이블의 pk 값을 또 다른 테이블이 fk 로 가지고 있으면 가능하며,
란 foreign key 로 외래키, 다른 테이블에서 가져온 데이터 란 뜻의 컬럼이 필요하다.
# 코드는 create 할때 작성하거나 alter 문으로 가능하다
foreign key(column) reference another table( pk )
예시) foreign key(customer_id) reference orders(id)
오더의 아이디를 fk 로 커스토머 id 란 이름으로 가져온단 의미이다.
foreign key 를 설정하면 foreign key로 가져온 pk값을 삭제 하거나 변경할때 다음 과같이 설정이 가능하다.
# fk 설정 뒤에 on으로 붙혀사용한다.
foreign key(column) reference another table( pk )
# delete 시 어떻게 처리할 것인가.
on delete 속성
# update 시 어떻게 처리할 것인가.
on update 속성
속성
1. RESTRICT : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 변경/삭제가 취소된다.
2. CASCADE : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 함께 변경/삭제된다.
3. NO ACTION : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 변경/삭제하지 않는다.
4. SET NULL : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 참조하고 있는 값은 NULL이 된다.
'개발 > SQL' 카테고리의 다른 글
MySQL - null을 다른 값으로 대체하는 ifnull() (0) | 2022.12.08 |
---|---|
MySQL - Join(Inner , left) (0) | 2022.12.08 |
MySQL - 새로운 컬럼을 만들어 조회하기 (if , case - end) (0) | 2022.12.07 |
MySQL - 그룹의 조건 having (0) | 2022.12.07 |
MySQL - 날짜관련day,dayname,dayofweek,date_format,curdate, 업데이트 시간 (0) | 2022.12.07 |