웹앱프로젝트/Mysql
LEFT OUTER JOIN 한 쪽 테이블에 없어도 join해서 null로 보여줌
Minah Park
2022. 7. 14. 10:09
반응형
항상 까먹어서 매번 찾아보길래 기록해두기!!!
sdet_info 테이블에는 존재하는데 prep_sdet_info 테이블에는 존재하지않는 정보들을 가져오고자 함
공통된부분 + 왼쪽테이블에만 존재하는거
Inner join은 공통된 부분만 가져오는데 이거는 일단 left 이기 때문에 왼쪽에 먼저 정의한 테이블이 중심인데, 그 중심이 되는 테이블에서 공통되는 부분과 중심 테이블에만 있는 부분이 함께 출력된다.
SELECT
*
FROM
sdet_info as s
left outer join
prep_sdet_info as ps
on ps.KEDI_CD=s.KEDI_CD
where stus='정상'
and
s.KEDI_CD IS NULL;
on : 부분에는 공통적으로 들어가는 부분에 대한 조건을 넣어준다 (다른 join과 같은 사용용도)
하지만, 나는 공통된 부분은 제외하고 싶었기 때문에 where 절에 중심테이블인 sdet_info 에만 존재하는 컬럼으로 조건을 넣어줬다. 그래서 sdet_info에만 있는 데이터들만 나왔다.
반응형
반응형