티스토리 뷰

Oracle Database

테이블 분해 조립 - 실습

Programmers 2021. 4. 29. 15:25
반응형

프로그램: Oracle SQL Developer

기존에 만들었던 TOPIC 테이블을 이용

 

분해

AUTHOR 테이블 생성

AUTHOR 테이블 생성

이름 및 테이블 값 입력

시퀀스 생성

SEQ_AUTHOR 생성

 

SEQ_AUTHOR 생성

AUTHOR 데이터 입력

INSERT INTO author (id, name, profile) VALUES(SEQ_AUTHOR.nextval, 'egoing', 'developer');
INSERT INTO author (id, name, profile) VALUES(SEQ_AUTHOR.nextval, 'duru', 'DBA');
INSERT INTO author (id, name, profile) VALUES(SEQ_AUTHOR.nextval, 'taeho', 'data scientist');
INSERT INTO author (id, name, profile) VALUES(SEQ_AUTHOR.nextval, 'egoing', 'developer');

-> 4개의 행 입력

 

AUTHOR 테이블

 

TOPIC테이블

AUTHOR_ID 열 추가

조립(JOIN)

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

-> topic.author_id가 author.id와 같으면 author 테이블의 왼쪽을 topic에 붙여서 보여준다

기본 조립 성공

 

 

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

-> id가 TOPIC 테이블껀지 AUTHOR 테이블껀지 알 수가 없어서 애매하다.

조립 id 실패

 

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

-> topic.id로 정확하게 지정해서 보여준다. 그런데 보는 사람은 어느 테이블 id인지 구분 어렵다.

조립 id

SELECT topic.id TOPIC_ID, title, name FROM topic
    LEFT JOIN author ON topic.author_id = author.id;

-> topic.id 띄우고 TOPIC_ID(별명)을 통해서 출력창에 TOPIC_ID 보여준다.

개선된 조립 id

SELECT T.id TOPIC_ID, title, name FROM topic T
    LEFT JOIN author ON T.author_id = author.id;

-> topic 띄우고 T(별명)을 통해서 테이블 명을 모두 입력하지 않고도 T라는 이름으로 명령문에 사용 가능

테이블명 별명 조립

 

 

SELECT T.id TOPIC_ID, title, name FROM topic T
    LEFT JOIN author ON T.author_id = author.id
    WHERE T.id = 1;

-> WHERE 사용으로 T.id가 1인 값을 찾아서 출력

WHERE 추가 조립

 

반응형

'Oracle Database' 카테고리의 다른 글

SQL SELECT 쿼리 처리 순서  (0) 2021.05.04
계속,  (0) 2021.04.29
테이블의 분해 조립 - 조립하기  (0) 2021.04.29
테이블의 분해 조립 - 분해하기  (0) 2021.04.29
SQL Developer  (0) 2021.04.29
댓글
공지사항