JOIN
- 여러개의 테이블 데이터들을 조합하여 출력
예제
CREATE TABLE TEST1(
ID INT PRIMARY KEY,
NAME VARCHAR(20) NOT NULL,
NUM INT NOT NULL -- 외래키
);
INSERT INTO TEST1 VALUES(1,'티모',101);
INSERT INTO TEST1 VALUES(2,'아리',201);
INSERT INTO TEST1 VALUES(3,'세라핀',401);
INSERT INTO TEST1 VALUES(4,'모르가나',401);
INSERT INTO TEST1 VALUES(5,'미스포춘',301);
INSERT INTO TEST1 VALUES(6,'비에고',501);
INSERT INTO TEST1 VALUES(7,'아무무',501);
INSERT INTO TEST1 VALUES(8,'이즈리얼',301);
INSERT INTO TEST1 VALUES(9,'가렌',101);
INSERT INTO TEST1 VALUES(10,'애니',201);
CREATE TABLE TEST2(
PID INT PRIMARY KEY,
PNAME VARCHAR(20) NOT NULL
);
INSERT INTO TEST2 VALUES(101,'탑');
INSERT INTO TEST2 VALUES(201,'미드');
INSERT INTO TEST2 VALUES(301,'원딜');
INSERT INTO TEST2 VALUES(401,'서포터');
INSERT INTO TEST2 VALUES(501,'정글');
다른 두 테이블을 연결 시켜주는 포지션 넘버(외래키) 101,201,301,401,501
TEST1 table에서는 하나의 외래키이고,
TEST2 table에서는 그 table만의 고유키인 것이다.
SELECT * FROM TEST1;
SELECT NAME,PNAME FROM TEST1,TEST2 WHERE TEST1.NUM=TEST2.PID;
-- 다른 테이블의 정보를 가져올 때에는 반드시 해당 테이블의 PK를 가져와야함!
-- 이렇게 가져온 상대 테이블의 PK 컬럼을 외래키
-- TEST1에 있는 NUM과 TEST2에 있는 PID 가 같다라고 알려준다.
-- 이퀄 조인 EQUI JOIN
-- 조인 조건이 A.컬럼=B.컬럼
그렇다면 사용하는 이유는 ?
중복 제거, 유지보수 용이
'개발자노트 > DBMS' 카테고리의 다른 글
[SQL] Java에 SQL(오라클) 연동하기(기본 코드) (0) | 2022.07.04 |
---|---|
[SQL] Java에 SQL(오라클) 연동하기. (0) | 2022.07.04 |
[SQL] [오라클] 문법 - GROUP BY / HAVING (0) | 2022.07.04 |
[SQL][오라클] DO IT ! 오라클로 배우는 데이터베이스 입문 2장-2 (0) | 2022.07.03 |
[SQL][오라클] DO IT ! 오라클로 배우는 데이터베이스 입문 2장 (0) | 2022.07.03 |