TOPIC 테이블의 데이터의 끝에 AUTHOR_ID라 해서
AUTHOR 테이블의 ID column,
즉. Primary Key값을 AUTHOR_ID에 적어 놓은 것을 알 수 있다.
저렇게 연관된 다른 테이블의 Primary Key 값을 적어놓은
저런 column을 외국인 할때 foreign.
Foriegn Key 라고 부른다.
물론 Foriegn Key라는 기능이 있기도 했지만
개념적으로 봤을 때 Foriegn Key라고 부르는 것이다.
그럼 이걸 가지고 어떻게 할 것 인가?
TOPIC 테이블을 왼쪽으로 놓고,
TOPIC을 기준으로 해서 오른쪽에다가 AUTHOR 테이블을 붙여보려고 하는것이다.
무슨 말일까?
이해가 안간다면 다시 이미지도 그릴 겸 다시 한번 보고 오자
fakegrowthup.tistory.com/235?category=959189
그럼 다시!
TOPIC 테이블의 행을 기준으로 해서 AUTHOR 테이블의 행을 옆에다 붙여보자.
SELECT * FROM topic
LEFT JOIN author ON topic.author_id = author.id
;
TOPIC 테이블을 왼쪽에 두고 JOIN을 한다.
어디랑 해요?
AUTHOR 테이블과 한다.
근데 그때 어떻게 한다?
TOPIC 테이블의 AUTHOR ID가 AUTHOR 테이블의 ID가 같다. 라고 기준을 정해주어야 한다.
그러면 이 기준에 따라서 AUTHOR 테이블의 ID(Primary Key)와 일치하는 행을 옆에다가 붙여주는 것이다.
그리고 실행을 해보면 다음과 같이 된다.
JOIN은 관계형 데이터베이스의 사용의 핵심이라고 할 수 있다.
SELECT T.id TOPIC_ID,
title,
name
FROM topic T
LEFT JOIN author A
ON T.author_id = A.id
WHERE
T.id = 1
;
TOPIC_ID는 별명
표의 이름에 대한 별명도 정해줄 수 있다.
topic T라고 하면 이 구문에서 T는 topic이 된다.
author A도 똑같이 정해 줄 수 있다.
만약에 내가 TOPIC_ID가 1인 행만 가지고 오고 싶다 했을 때는 WHERE을 사용하면 된다.
오늘도 이고잉님께 감사한 마음으로 공부
짝짝짝!👏👏👏
'SQL > SQL Developer' 카테고리의 다른 글
FULL OUTER JOIN (0) | 2021.04.05 |
---|---|
INNER JOIN (0) | 2021.04.05 |
JOIN - LEFT OUTER JOIN(LEFT JOIN) 실습OIN - LEFT OUTER JOIN(LEFT JOIN) 실습 (0) | 2021.04.04 |
테이블 분해/조립 - 분해 실행하기 (0) | 2021.04.03 |
SQL Developer (0) | 2021.04.03 |