2013-06-18 4 views
0

암시 적 조인은 구식이지만 숙제를위한 것임을 이해합니다. 암시에 대한 그의 모든 예는 단지 2 개 테이블을 조인 조인, 나는 예를 들어 어디 여기에 3SQL 암시 적 조인 3 테이블 조인

SELECT Name 
FROM Employee 
JOIN EmployeeSkills 
ON (EmployeeID=E.ID) 
JOIN Skill ON (SkillID=S.ID) 
WHERE Title=’DBA’; 

에 합류 내가 원하는 걸의 명시적인 버전입니다 찾을 수 없습니다. 이것을 암묵적으로 어떻게 써야할까요?

감사

답변

1

내가 그것을 쓸 줄 방법은 다음과 같습니다

SELECT E.Name FROM Employee E,EmployeeSkills ES,Skill S 
WHERE E.ID = ES.EmployeeID 
    AND ES.SkillID = S.ID 
    AND S.Title=’DBA’; 

거의 먼저 받았지만, 명확성의 경우와 같은 대답, 내가 전역을 사용하십시오 별명을 사용하기 시작 더라면, 그리고 당신이 그들을 정의하는지 확인하십시오. 위의 예에서 직원과 스킬 모두 이름을 가질 수 있으며 제목은 직원의 제목 또는 스킬의 이름이 될 수 있습니다. 테이블 이름 (또는 별칭)을 사용하면 스키마에 익숙하지 않은 경우에도 진행 상황을 쉽게 알 수 있습니다.

또한 수년 전에 사용했던 데이터베이스 일 수도 있지만 테이블을 도입 한 순서대로 조인을 작성하지 않으면 성능에 큰 영향을줍니다 (큰 데이터에서는 큰 차이가 있음).

+0

좋은 점은 암시 적 조인과 같은 작업을 수행 할 때 모범 사례가 내 마음을 어지럽게 만듭니다. +1 –

1

그것의 거의 두 테이블의 예와 같은 :

SELECT a.Name 
FROM Employee a,EmployeeSkills b ,Skill c 
WHERE a.EmployeeID = b.ID 
    AND b.SkillID = c.ID 
    AND Title=’DBA’; 

편집 : 그들은 오랫동안 사용되지 않는으로, 가장 좋은 방법은 암시 사용하지 않는 별명에 에버렛 워렌에 의해 만들어 좋은 지적 조인 전에. 여기