A테이블 기준으로 동일한 B테이블에서 값을 가져오는 경우입니다.
주로 공통코드같은 경우에 자주 이용하는데요..
아래 2가지 방식으로 해도 동일한 결과값이 나타납니다.
그런데 어떤경우가 더 효율적인지 아직 감이 안잡히네요..
흔히 목록조회라고 하는 다수의 결과가 리턴되는경우와
상세조회라고 하는 단일결과가 리턴되는 경우에..
아래 두 쿼리를 언제 사용해야하나요? 어떤경우든 둘중에 아무거나 쓰면 되는지.. 각 경우에마다 1번방식 2번방식을 사용하는지. 아니면 전혀 다른방법이 있는건지 궁금합니다..
1)
SELECT A.NAME, B.ID_NAME, C.ID_NAME
FROM TABLE_A A, TABLE_B B, TABLE_B C
WHERE A.ID = B.ID(+)
AND A.KRID = C.ID(+)
2)
SELECT A.NAME, (SELECT ID_NAME FROM TABLE_B B WHERE B.ID = A.ID) ID_NAME
, (SELECT ID_NAME FROM TABLE_B C WHERE C.ID = A.KRID) ID_NAME
FROM TABLE_A A