질문이 2가지 입니다.
1. 저는 ansi조인을 사용하지 않기에 조금 궁금한게
left outer join on절에
on a.a = b.a라는 값을 조인 하잖아요?
그럼 여기서 풀어서 말하면 a.a기준으로 b.a와 조인한다
여기까지는 알겠는데요
on절의 바로 밑에 예를들어
and a.c = 'y' 이렇게 되면 조인값들중에 y인 값만 출력하라는 건가요? 아니면 조인 조건이 y인것만 추려내서 조인 걸라는 걸까요?
where절에는 최종 결과 값의 조건을 줘서 출력해 준다는 것을 아는데 on절이 좀 이해 안가서 글 남겨봅니다.
두번째 질문은
조회 프로그램에서 예를 들어 1개의 테이블을 이용해서 조회하는데 a라는 조건만 들어 가면 b라는 테이블과 조인하여 이 조건일따만 조인된 조건으로 화면에 뿌려줘야 하는데 쿼리가 풀리지가 않네요...
쿼리에 대한 답은 이건데 조건이 없을때는 a테이블만 조회가 되어야 하고
조건이 들어 갔을때는 아래와 같이 조인되어 뿌려줘야 합니다ㅠ 추석인데 쉬지도 못하고 일하는데 하도 안풀려서 질문 드립니다.
select * from 011 a,
(select ID
from 200
where YM between '202009' and '202109' -- 1년 조건 값
group by ID
) p
where 1=1
and a.ID = ID (+)
and DOR='202109001'
갑 쪽에 계신분이.이렇게 하면 된다고 해서 하고 잇는데 음 이게 쿼리로는 쉬운데
저희 프로그램에서는 fragment로 값을 받아 조건이 a면 조인된 테이블의 결과값을
아니면 a테이블만 이런식 입니다...
혹시 1번 질분에서 처리가 가능할지 해서 같이.질문 드립니다
한가위 모두 잘 보내세요!