2014-05-24 1 views
0

제품이있는 테이블이 2 개 있습니다.INNER JOIN이 다른 결과를 찾지 못하는 데이터베이스 결과 표시

등 :

 
id | link | name 
1 | 200 | apple 
2 | 300 | Pineapple 
3 | 450 | Banana 

그리고

 
id | link | price 
1 | 200 | 2.00 
2 | 300 | 2.50 
3 | 450 | 4.00 
4 | 500 | 1000 

는 링크로 가입 할 수 있습니다. (내부) JOIN을 사용하면 3 가지 제품 가격을 표시 할 수 있습니다.

그러나 보여줄 수있는 방법이있다 :

 
4 | 500 | 1000 

그래서 내 테이블을 정리할 수는?

가 나는

SELECT * 
FROM Table_A A 
FULL OUTER JOIN Table_B B 
ON A.link = B.link 

가입 전체 OUTER 함께 할 수있는 뭔가가 생각하지만 지금은 두 테이블에서 모든 것을보고 난의 대응이 필요하지 않습니다 (있는 권리 영어 단어인가?)

답변

1

당신은 다음과 같은 외부 조인을 사용해야합니다

SELECT * FROM tab1 RIGHT JOIN tab2 ON tab1.link = tab2.link 

은 내부 조인 있습니다 실제로 두 테이블 사이의 교차점을 수행합니다. 조인의 한 쪽에서 조인의 다른 쪽의 행과 일치하지 않는 결과를 보려면 외부 (오른쪽, 왼쪽 또는 전체) 조인을 사용합니다 (일치하지 않는 쪽의 열은 채워집니다 nulls와 함께).

+0

죄송합니다. 내 시작 게시물을 편집했습니다. 하지만 이걸 사용하면 모든 결과를 볼 수 있습니다. – Coolen

+0

@Coolen 어쩌면 의도 한 결과가 무엇인지, 그리고 FULL OUTER JOIN을 실행할 때 얻은 결과와 어떻게 다른지를 알려 주시면 도움이 될 것입니다. –

+0

결과는 다음과 같아야합니다 : 4 | 500 | 1000 – Coolen