생활코딩 DATABASE2 MySQL 강의를 참고하여 SQL 기초에 대해 정리하겠습니다.
관계형 데이터베이스는 테이블을 분할하여 저장할 수 있습니다.
이는 데이터의 중복 저장을 피하고 유지보수를 편리하게 합니다.
그리고 분할된 테이블을 합쳐서 한번에 볼 수 있도록 하는 것이 JOIN 입니다.
(관계형 데이터베이스의 꽃이라는군요)
다음과 같이 테이블을 분할하여 저장할 수있습니다.
JOIN 문을 통해 topic 테이블을 부를 때 author_id만 가지고도 author 테이블의 name 칼럼과 profile 칼럼을 가져올 수 있습니다.
기본적으로 다음과 같이 JOIN 문을 사용합니다.
SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id;
-- ON 으로 어떻게 JOIN 할 지 알려줌
1개 이상의 테이블을 참조하기 때문에 칼럼명이 중복될 경우 오류가 발생할 수 있습니다.
SELECT id, title, author FROM topic LEFT JOIN author ON topic.author_id = author.id;
-- column 'id' 가 ambiguous 하다는 에러가 발생함.
-- 두 테이블이 모두 id 칼럼을 갖기 때문.
SELECT topic.id, title, author FROM topic LEFT JOIN author ON topic.author_id = author.id;
-- 중복되는 칼럼은 앞에 테이블 명을 명시해서 ambiguous를 피함
'컴퓨터과학 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] Entity-Relationship Model - 모델링, ERD, 관계형 스키마 (0) | 2021.12.14 |
---|---|
[데이터베이스] Data Analytics with SQL - DW, OLAP (0) | 2021.12.05 |
[데이터베이스] SQL 총정리 1 (0) | 2021.10.27 |
[MySQL] SQL 추가 문법 정리 - 프로그래머스 SQL 고득점 kit (0) | 2021.03.01 |
[MySQL] MySQL 기초 정리 (0) | 2021.02.21 |
댓글