Database (DB)/MySQL

[MySQL] 08.1 연습: 3개테이블 Join

데브케빈 2020. 3. 15. 08:41

저번에 만든 이 3개의 테이블을 합치겠습니다.

먼저 MasterTable과 Nations를 합치겠습니다.

SELECT * FROM masterTable LEFT JOIN nations ON masterTable.pNation_id = nations.nation_id;

이렇게 나오는데, 그 옆에 tmi도 붙혀보겠습니다.

 

SELECT * FROM masterTable LEFT JOIN nations ON masterTable.pNation_id = nations.nation_id JOIN TMI ON MasterTable.pTMI_id = TMI.TMI_id;

3개를 조인하는 방법은,

2개의 테이블을 조인하는 방법과 매우 같습니다.

2개를 조인할때는 JOIN키워드 하나만 사용했지만, 3개일땐 2개를, 4개일땐 3개를 사용하시면 됩니다.

문법을 정리하자면,

SELECT * FROM 테이블1 LEFT JOIN 테이블2 ON 조인할거 JOIN 테이블3 ON 조인할거;

여기서 조인할거라는건 위에선 MasterTable.pNation_id = Nations.Nation_id 이런걸 말합니다.

 

3개의 JOIN이 성공적으로 되었고,

이제 정리해서 PLAYER_ID빼고 다른 ID들은 지우고, 간결하게 만들어 보겠습니다.

SELECT masterTable.Player_name, Nation_name, FromWhere, TMI_GENDER, TMI_HEIGHT FROM masterTable 
LEFT JOIN nations ON masterTable.pNation_id = nations.nation_id 
JOIN TMI ON MasterTable.pTMI_id = TMI.TMI_id;

코드가 길어져서 줄바꿈을 해줬습니다.

이제 이렇게 간결한 모습의 테이블을 볼 수 있게 되었습니다.

그럼 혹시 잘 작동하나 확인하기위해 위에 보시면 제가 ASIA라고 해야하는데 KOREA에서 온 사람들을 ASA라고 적어두었습니다.

이 ASA를 ASIA로 바꾸고 마무리 하겠습니다.

 

UPDATE를 이용해서 ASIA로 변경해주고,

 

재 출력해보니 잘 나왔습니다.

 

여기까지 이번 연습을 마치겠습니다.