테이블 분리하기
Before 표
After 표
※ 기존 topic 테이블 백업
RENAME TABLE topic TO topic_backup;
--
-- Table structure for table `author`
--
CREATE TABLE `author` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`profile` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`)
);
--
-- Dumping data for table `author`
--
INSERT INTO `author` VALUES (1,'egoing','developer');
INSERT INTO `author` VALUES (2,'duru','database administrator');
INSERT INTO `author` VALUES (3,'taeho','data scientist, developer');
--
-- Table structure for table `topic`
--
CREATE TABLE `topic` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(30) NOT NULL,
`description` text,
`created` datetime NOT NULL,
`author_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
);
--
-- Dumping data for table `topic`
--
INSERT INTO `topic` VALUES (1,'MySQL','MySQL is...','2018-01-01 12:10:11',1);
INSERT INTO `topic` VALUES (2,'Oracle','Oracle is ...','2018-01-03 13:01:10',1);
INSERT INTO `topic` VALUES (3,'SQL Server','SQL Server is ...','2018-01-20 11:01:10',2);
INSERT INTO `topic` VALUES (4,'PostgreSQL','PostgreSQL is ...','2018-01-23 01:03:03',3);
INSERT INTO `topic` VALUES (5,'MongoDB','MongoDB is ...','2018-01-30 12:31:03',1);
JOIN
별도의 테이블에 저장된 데이터를 하나의 테이블로 조합하여 확인
두 테이블의 결합 고리
topic -> 'author_id'
author -> 'id'
LEFT JOIN ... ON
author_id 와 id 부분은 생략하고 조회하고 싶으면, 조회하고자 하는 컬럼명만 지정해서 SELECT 하면 된다. "PROJECTION"
JOIN 하려는 테이블에 동일한 컬럼명이 있으면, 명확하게 알려줘야 한다.
topic.id -> 'topic'테이블의 id
출력되는 id 컬럼이 어느 테이블의 id인지 표시하기 위해 AS로 다른 이름으로 출력
'코딩공부 > DATABASE2 - MySQL' 카테고리의 다른 글
[8] MySQL 클라이언트 (0) | 2019.09.18 |
---|---|
[7] 인터넷과 데이터베이스 (0) | 2019.09.18 |
[5] 관계형 데이터베이스의 필요성 (0) | 2019.09.18 |
[4] MySQL의 CRUD - INSERT, SELECT, UPDATE, DELETE (0) | 2019.09.18 |
[3] MySQL 테이블의 생성 (0) | 2019.09.18 |