select a~zdate a~zuserid a~zbank a~waers b~ztext
appending corresponding fields of tables of table gt_data
from zttdaily as a
inner join
zttitemtext as b
on a~zitem = b~zitem
where zdate = p_date.
1. 위문장중에 select ~~~~ appending corresponding fields of tables gt_data가 있는데
select ~~~~ into corresponding fields of tables gt_data와 차이점은 뭔가요?
2. 위 문장에 inner join이 있는데 inner join의 역활은 뭔가요? 그리고 outer join와 차이점은 뭔가요?
책이나 자료에 설명은 있지만 이해가 어려워서 질문을 드립니다.
자세한 답변부탁합니다.
1번 : INTO CORRESPONDING FIELDS OF TABLES GT_DATA는 기존에 인터널 테이블에 들어있는 데이터들을
삭제하고 나서, DB에서 가져온 데이터를 인터널 테이블로 넣어줍니다.
이와 달리, APPENDING CORRESPONDING FIELDS OF TABLES GT_DATA는 기존테이블의 데이터들은
그대로 있는 상태에서, 추가로 데이터를 인터널 테이블로 넣어주는 차이가 있습니다.
2번 : 일반적으로 사용하는 JOIN이 INNER JOIN 형태입니다. INNER JOIN 은 두개의 KEY 값이 일치하는 경우에만
두개의 테이블을 JOIN 하고, 이와 달리 OUTER JOIN의 경우 일치하는 값이 없을 경우 NULL값으로 두게 됩니다.
예를들어 COUNTRY, CURRENCY 두개의 테이블이 country_code 라는 KEY 값으로 JOIN된다고 가정해보면,
COUNTRY 테이블
country_code
country_name
kor
대한민국
jpn
일본
usa
미국
cha
중국
CURRENCY 테이블
country_code
currency_code
currency_name
kor
won
원
jpn
yen
엔
usa
usd
달러
LEFT OUTER JOIN
country_name
currency_code
currency_name
대한민국
won
원
일본
yen
엔
미국
usd
달러
중국
NULL
NULL
INNER JOIN
country_name
currency_code
currency_name
대한민국
won
원
일본
yen
엔
미국
usd
달러