2개의 data를 병합할때 쓰이는 Join 구문에서 조건을 넣는 방식이죠.
WHERE 과 ON.
이 2가지의 차이를 간단히 알아보겠습니다.
aa 라는 dataframe , bb라는 dataframe 이 있다고 가정을 해보겠습니다.
그리고 aa 와 bb 는 공통의 key 를 key 라고 갖는다고 합시다.
그리고 bb 는 game 이라는 항목이 더 있습니다.
아래의 명령문을 살펴보면
1) SELECT *
FROM aa
LEFT OUTER JOIN bb
ON aa.key= bb.key
WHERE bb.game= 'hearthstone';
2) SELECT *
FROM aa
LEFT OUTER JOIN bb
ON ( aa.key= bb.key AND bb.game = 'hearthstone' );
힘의 차이가 느껴지십니까?
1) 은 LEFT OUTER JOIN 을 수행하고, bb.game = hearthstone 을 찾게됩니다.
2) 는 bb 데이터프레임 중 bb.game = hearthstone 인 녀석들만 추린 후 aa 와 LEFT OUTER JOIN 을 하게됩니다.
여기서 눈치 채셨겠지만...
결론적으로
1) 은 bb.game = hearthstone 인 데이터만 존재하게 되지만,
2) 는 bb.game = hearthstone 이 아닌 데이터도 존재하게 됩니다.
확실히 SQL 이 직관적인 것 같습니다.
R의 여러가지 데이터처리 프로그램과 sqld 를 함께 쓰면 훨씬 데이터처리가 편해질 것 같네요.
* 이 포스팅이 도움이 되셨다면 '공감' 버튼 부탁드립니다.
'Sql' 카테고리의 다른 글
[SQL문법] Case 조건문, when then else end (0) | 2019.10.29 |
---|---|
R 에서 SQL 사용하기 (0) | 2019.10.11 |
PostgreSQL 와 R 연동하기 (0) | 2019.02.05 |