과목 II SQL 기본 및 활용

제1장 SQL 기본

제9절 조인 (JOIN)

4. 3개 이상 TABLE JOIN

 

 

[예제] 앞의 예제에서 보았듯이 선수 테이블의 소속팀코드(TEAM_ID)가 팀 테이블의 팀코드(TEAM_ID)와 PK-FK의 관계가 있다는 것을 알 수 있고, 운동장 테이블의 운동장코드(STADIUM_ID)와 팀 테이블의 전용구장코드(STADIUM_ID)가 PK-FK 관계인 것을 생각하며 다음 SQL을 작성한다. 세 개의 테이블에 대한 JOIN이므로 WHERE 절에 2개 이상의 JOIN 조건이 필요하다.

 SELECT P.PLAYER_NAME 선수명, P.POSITION 포지션,

              T.REGION_NAME 연고지, T.TEAM_NAME 팀명,

              S.STADIUM_NAME 구장명
 FROM PLAYER P, TEAM T, STADIUM S
 WHERE P.TEAM_ID = T.TEAM_ID

 AND T.STADIUM_ID = S.STADIUM_ID
 ORDER BY 선수명;

 또는 INNER JOIN을 명시하여 사용할 수도 있다.  
 SELECT P.PLAYER_NAME 선수명, P.POSITION 포지션,

              T.REGION_NAME 연고지, T.TEAM_NAME 팀명,

              S.STADIUM_NAME 구장명
 FROM PLAYER P INNER JOIN TEAM T

      ON P.TEAM_ID = T.TEAM_ID

           INNER JOIN STADIUM S

      ON T.STADIUM_ID = S.STADIUM_ID
 ORDER BY 선수명;

 

 

[실행결과]

(480개 행이 영향을 받음)

 

'SQL 전문가 가이드' 카테고리의 다른 글

Non EQUI JOIN  (0) 2013.11.18
EQUI JOIN  (0) 2013.11.15
Top N 쿼리  (1) 2013.10.08
SELECT 문장 실행 순서  (0) 2013.10.08
ORDER BY 정렬  (0) 2013.10.07
Posted by G4.
,