728x90
JOIN으로 테이블 연계하기
테이블 작성 시 join을 통해서 반복되거나 중첩되는 데이터를 다른 테이블로 빼서 연계해주는 것이 가능합니다.
*character
id
|
title
|
author_id
|
1
|
dong dong
|
1
|
2
|
happy nun
|
1
|
3
|
kakao friends
|
2
|
4
|
buttumak family
|
1
|
*author
id
|
name
|
location
|
1
|
clock studio
|
bucheon
|
2
|
kakao
|
seoul
|
위와 같은 2개의 테이블이 있을 때 character 테이블 author_id 에 author 테이블을 매칭해서 보여줄 수 있습니다.
SELECT * FROM character LEFT JOIN author ON character.author_id = author.id;
// 캐릭터 테이블의 autour_id에 author id에 맞춰서 합성합니다.
id
|
title
|
author_id
|
id
|
name
|
location
|
1
|
dong dong
|
1
|
1
|
clock studio
|
bucheon
|
2
|
happy nun
|
1
|
1
|
clock studio
|
bucheon
|
3
|
kakao friends
|
2
|
2
|
kakao
|
seoul
|
4
|
buttumak family
|
1
|
1
|
clock studio
|
bucheon
|
join 을 사용했을 때 출력되는 테이블 모습입니다. 이때 author_id와 id는 출력되지 않고 name만 location만 출력되면 훨씬 보기 좋겠죠?
SELECT character.id,title,name,location FROM character LEFT JOIN author ON character.author_id = author.id;
// *는 모든것을 선택할 때 사용합니다. * 대신 출력되는 섹션을 선택해줍니다.
id
|
title
|
name
|
location
|
1
|
dong dong
|
clock studio
|
bucheon
|
2
|
happy nun
|
clock studio
|
bucheon
|
3
|
kakao friends
|
kakao
|
seoul
|
4
|
buttumak family
|
clock studio
|
bucheon
이렇게 *대신 원하는 섹션을 선택해서 위처럼 출력해서 볼 수가 있습니다.
이때 만약에 섹션명을 변경하고 싶다면 AS를 이용해서 바꿀 수 있습니다. |
SELECT character.id AS num,title,name,location FROM character LEFT JOIN author ON character.author_id = author.id;
// character의 id를 num 이라고 변경해서 출력합니다.
num
|
title
|
name
|
location
|
1
|
dong dong
|
clock studio
|
bucheon
|
2
|
happy nun
|
clock studio
|
bucheon
|
3
|
kakao friends
|
kakao
|
seoul
|
4
|
buttumak family
|
clock studio
|
bucheon
|
반응형
'공부 > MySQL' 카테고리의 다른 글
무료 MySQL client 워크벤치 (Workbench) (0) | 2023.01.12 |
---|---|
데이터베이스 MySQL 테이블 생성하기,선택하기,수정하기,삭제하기 (0) | 2023.01.12 |
MySQL 공부를 위해 컴퓨터에 설치하기 (0) | 2023.01.12 |