2014-11-24 5 views
1

키가 아닌 속성과의 조인의 의미는 무엇입니까? 예가 있습니까?키가 아닌 속성 조인

다른 테이블의 기본 키로 한 테이블의 외래 키를 조인하는 경우 만 알고 있습니다.

키 속성을 결합하는 경우가 아닙니까?

그래서 키가 아닌 속성에 조인하는 경우는 어떻습니까?

http://en.wikipedia.org/wiki/Join_(SQL) 여기 예제는 위에서 언급 한 것과 같습니다.

+2

"핵심이 아닌 속성에 조인"이 어떤 식 으로든 특별한 이유라고 생각하는 이유를 설명 할 수 있습니다. 그 문구는 어디에서 가져 왔습니까? 그 출처는 그 조인에 대해 뭐라고 말합니까? – Tomalak

+0

[이 답변보기] (https://stackoverflow.com/a/23842061/3404097). – philipxy

답변

1

다른 테이블의 기본 키를 사용하여 한 테이블의 외래 키를 조인하는 경우 만 알고 있습니다.

오른쪽은 가장 일반적으로 가장 많이 최적화 된 것입니다. 그러나 이것은 유일한 것이 아닙니다. 조인을 사용하여 임의의 조건에 따라 다른 테이블의 행 (또는 같은 테이블의 행)에 "연결"할 수 있습니다. 당신은뿐만 아니라 조건 BETWEEN 연산자를 사용할 수

insert into shirt_size (size_from, size_to, size_code) values (18, 19, 'Small'); 
insert into shirt_size (size_from, size_to, size_code) values (20, 21, 'Medium'); 
insert into shirt_size (size_from, size_to, size_code) values (22, 23, 'Large'); 
insert into shirt_size (size_from, size_to, size_code) values (24, 25, 'XL'); 

SELECT g.name, s.size_code 
FROM guest g 
LEFT OUTER JOIN shirt_size s ON g.size >= s.size_from AND g.size <= s.size_to 

: 합류가 키가 아닌 속성에 발생하는 두 가지 경우 모두

SELECT g.name, s.size_code 
FROM guest g 
LEFT OUTER JOIN shirt_size s ON g.size BETWEEN s.size_from AND s.size_to 

여기

이 아닌 동등 조인의 간단한 예입니다 조인 조건의 양쪽.

관련 문제