JOIN

Leeys·2022년 2월 17일

database

목록 보기
6/6


SELET * FROM 테이블명 LEFT JOIN 칼럼명 ON 테이블명.칼럼명 = 다른테이블명.칼럼명; 으로 다른 테이블에 존재하는 칼럼의 관계를 확인하고 조회할 수 있다. 여기서 id가 중복되서 조회되므로


조회하는 칼럼명을 지정해주면 지정한 id값만 나오는 걸 확인할 수 있다. 그리고 맨앞의 id 값이 author_id 인지 topic_id 인지 table만 봐서는 구분할 수 없으므로 조회되는 칼럼명을 AS로 바꿀 수 있다.

중복을 제거하는 일은 아주 중요하다.

---댓글---
관계형 데이터베이스의 꽃 JOIN

각각 독립적인(분리된) 테이블을 읽을 때, 그 테이블이 하나의 테이블로 저장되어 있었던 것과 같은 효과.

테이블과 테이블을 JOIN 하기 위해서는,
데이터베이스가 어떠한 목적을 가지고 있는지를 말할 수 있어야 한다.

SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id;

topic 테이블의 author_id 값과, author테이블의 id 값이 같다

SELECT topic.id, title, description, created, name, profile FROM topic LEFT JOIN author ON topic.author_id = author.id;

행을 보기 편하게 바꾸고 싶을 때,,

AS 사용 : topic.id AS topic_id

정보 기술에서 중복을 제외 한다는 것. !매 우 중 요!

테이블을 분리한다는 것.
만약 테이블이 특정 식별자를 가지고 있다면, JOIN을 통해 얼마든지 관계를 맺을 수 있다.

SELECT * FROM comment LEFT JOIN author ON comment.author_id = author.id;

UPDATE author SET profile='database administrator' WHERE id = 2;

'하나를 바꾸면 전체가 바뀐다'

JOIN은 관계형 데이터베이스를 관계형 데이터베이스 답게 만드는 명령어

profile
공부 리마인드

0개의 댓글