back-end/DB
5. join
림가이드
2023. 4. 3. 23:02
: 두 개 잉상의 테이블을 연결하는 것
- relation DB의 가장 큰 장점
- PK, FK 이용
- join할 때 순서는 내부 DBMS 옵티마이저가 결정
- 종류?
create table member (
member_type varchar(10) not null,
name varchar(20),
user_id varchar(100) not null ,
pw varchar(50),
primary key (member_type, user_id)
);
create table member_detail (
member_type varchar(10) not null,
user_id varchar(50) not null,
phone varchar(12),
marketAgree bit,
register_date datetime default current_timestamp(),
primary key (member_type, user_id),
constraint fk_member_detail foreign key (member_type, user_id) references member (member_type, user_id)
);
1. inner join
select * from member join member_detail on member.member_type = member_detail.member_type and member.user_id = member_detail.user_id;
==
select * from member as m join member_detail as md on m.member_type = md.member_type and m.user_id = md.user_id;
2. left join
select * from member as m left join member_detail as md on m.member_type = md.member_type and m.user_id = md.user_id;
3. right join
select * from member as m right join member_detail as md on m.member_type = md.member_type and m.user_id = md.user_id;
4. full join
select * from member as m join member_detail as md;