2013-03-12 5 views
8

HIVE SQL 쿼리를 생성하여 테이블 1에있는 테이블 2의 모든 값을 찾으려고합니다. 조인을 사용해야한다는 것을 알고 있습니다.HIVE 테이블 2에없는 테이블 1의 데이터를 확인하십시오.

Table1 

url     number 
xe.com    5 
google.com   2 
ebay.co.uk   6 

Table2 

url     visits 
facebook.com   8 
google.com   4 
ebay.co.uk   15 

그래서 예를 들어 쿼리가 표에서 모든 값을 반환해야합니다 : 그러나 나는 ...이 상황에

감사합니다, 제임스 예를 들어

그것을 구현하는 방법을 알아낼 수 없습니다 표 2에 현재, 즉

url     number   visits 
google.com   2    4 
ebay.co.uk   6    15 
+0

- Table2에서 열이 값 NULL있을 것이다 일치가 아니라고 경우에는이 원하는 행입니다. 테이블의 스키마와 이들이 서로 연결되는 방식이 좋은 시작이 될 것입니다. –

+0

죄송합니다. 질문이 간단하여 데이터 스키마에 대한 정보가 필요 없다고 생각했습니다. 나는 게시물을 편집하고 정보를 포함 시켰습니다. – user2160581

+0

기본적으로 안티 조인을 할 수있는 방법을 찾고 있습니다 ... – user2160581

답변

14

LEFT JOIN은 일치 여부와 관계없이 Table1의 모든 행을 반환합니다. 당신은 당신이 적절한 대답을 원하는 경우 더 많은 정보를 포함해야 할거야

SELECT Table1.url, Table1.number 
FROM Table1 
LEFT OUTER JOIN Table2 ON Table1.url = Table2.url 
WHERE Table2.url IS NULL 
+0

도움을 주셔서 감사합니다. Table1.url이 Table1.number이 표 에서 왼쪽이 가입 표 2 ON Table1.url = Table2.url가 null Table2.url – user2160581

+0

@ user2160581 네, 앞서 자신의 가지고와 그것을 입력은'FROM' 라인을 놓친; 지금 고쳤다. –

+0

그리고 내가 사용하고있는 HIVE의 목적은 LEFT OUTER JOIN이어야합니다. 감사 :) – user2160581

관련 문제