Inner Join
Outer Join
idx(번호)와 id(ID)를 가진 A 테이블, idx(번호)와 name(이름)을 가진 B테이블
create table A(
idx int4,
id varchar(32)
);
create table B(
idx int4,
name varchar(32)
);
insert into A (idx, id) values (1, 'test1');
insert into A (idx, id) values (2, 'test2');
insert into A (idx, id) values (3, 'test3');
insert into B (idx, name) values (1, '첫번째 테스트');
insert into B (idx, name) values (5, '다섯번째 테스트');
insert into B (idx, name) values (7, '일곱번째 테스트');
select * from a;
->
select * from b;
->
select * from A a inner join B b on a.idx = b.idx;
-> A테이블의 idx와 B테이블의 idx가 일치하는 값들을 조회(교집합)
select * from A a left outer join B b on a.idx = b.idx;
-> A테이블 기준으로 데이터 조회가 되며 B테이블에서 A테이블의 idx와 일치하는 값이 없는 경우 B테이블의 데이터 자리에는 Null