2012-12-15 2 views
0

두 개의 테이블이 있습니다. 직원 및 관리자. 직원 테이블은 회사의 모든 직원의 정보를 저장합니다. 관리자 표는 어떤 직원이 어떤 관리자로 작업하는지 보여줍니다. 관리자는 또한 회사 직원입니다. 표는 아래에 나와 있습니다.자연스럽게이 두 테이블을 결합하면 어떻게됩니까?

직원 (이름, 도시, 거리)

관리자 (이름, EMPLOYEE_NAME)

굵은 수단은 기본 키입니다. 이제 관리자 테이블에서 이름과 직원 이름은 모두 직원을 참조하는 외래 키입니다. 그래서 내가 자연스럽게 그들과 합류한다면 어떻게 될 것인가. 문제가 없습니까? 자연계에 합류 한 후, 최종 도시에서시와 거리를 볼 수 있습니까? 관리자 또는 직원? 어떤 도움을 주시면 감사하겠습니다. 고마워요.

당신은 모든 관리자의 도시, 거리의 목록을 얻고,

이름, 도시, 거리를 EMPLOYEE_NAME합니다

+2

시도해보십시오. SQLFiddle.com – ApplePie

답변

1

당신 좋겠 가장 가능성이 아무것도 당신이 운이 좋다, 또는 정크 경우 경우 재수가. Natural join은 같은 것을 할 것입니다 :

SELECT * FROM managers LEFT JOIN employees 
     WHERE managers.name = employees.name 

Natural join 시도 일반적으로 명명 된 COLUMNS을 사용합니다.

내가 가정이 더 같은 것을 할 때 : 그렇지 않으면 물건을 가입

SELECT * FROM managers LEFT JOIN employees 
     WHERE managers.employee_name = employees.name 
0

것은, 당신의 DB의 arquitecture을 검토하는 것이 좋습니다. 관리자 테이블에서 이름이 PK 인 경우 동일한 관리자로 더 많은 직원을 가질 수 없습니다.

관련 문제