안녕하세요
제가지금 select join을 하고 있는데요!
혹시 A테이블과 B테이블을 조인해서
A테이블에는 있지만 B테이블에는 없는 데이터'만' 가져오고 싶은데 도저히 머리가 안돌아갑니다..
혹시 저러한방법을 select 쿼리문에서 할 수 있나요? 있다면 방법을 알려주세요 ㅜㅜ
with문 이나 다 사용하려고 했는데도 머리가 안돌아갑니다...
루프나 이런거 빼고 select 로만 하려고 하는데 감이 안잡히네요
감사합니다.!
댓글 7
-
초특급
2023.03.18 21:06
-
먹다망고야
2023.03.20 21:48
감사합니다 허나
둘다 있는것도 빼야되서 쓰기는 좀 애매할거 같지만 있을 수도 있으니 찾아볼게요!
-
Brisky
2023.03.19 23:49
SELECT * FROM B_table WHERE B_id NOT IN (SELECT A_id FROM A_table)
-
먹다망고야
2023.03.20 21:49
감사합니다
not in 쓰려고 해보니 제가 본문에 안적은게 있더라구요..
키값이 2개입니다
두개로 하려고 하니 안되더라구요.. 제가 몰라서 그럴수도 있는데
아무튼 감사합니다!
-
ㅇrㄱlㅈrㄱl
2023.03.20 23:59
속도가 빠르지는 않겠지만 join 대신 EXISTS 구문으로 가능하지 않을까요?
select (lv_field)
from atab
werhe not exists ( select all
from btab
where a~key1 eq b~key1
and a~key2 eq b~key2 )
-
먹다망고야
2023.03.21 21:41
헛 감사합니다
not exists 되는거같습니다!!
감사합니다!!
-
햄찌파파
2023.05.24 23:52
ABAP 740 이상이라면
select t1~*
from a as t1 left outer join b as t2 on t1~f1 eq t2~f1
and t1~f2 eq t2~f2
where t2~f1 is null.
이런 구문을 사용하시면 됩니다.
A 테이블에만 있고, B 테이블에 없는 데이터는 OUTER JOIN을 사용하면 돼요.
OUTER JOIN으로 검색하시면 예제 많이 나올거에요.