<aside> 🍰 권장
동영상 강의에서는 한 줄씩 설명하면서 실행하므로 보면서 따라하기를 권장함
</aside>
drop database if exists joindb;
create database joindb;
use joindb;
create table movie (
mname varchar(20),
aname varchar(20),
PRIMARY KEY(mname)
);
create table actor (
aname varchar(20),
birthdate date,
PRIMARY KEY(aname)
);
insert into movie values ('남산의 부장들', '이병헌');
insert into movie values ('다만 악에서 구하소서', '황정민');
insert into movie values ('반도', '강동원');
insert into movie values ('히트맨','권상우');
insert into movie values ('테넷', null);
insert into actor values ('이병헌', '1970-07-12');
insert into actor values ('황정민', '1970-09-01');
insert into actor values ('강동원', '1981-01-18');
insert into actor values ('권상우', '1976-08-05');
insert into actor values ('장동건', '1972-03-07');
from에 두 테이블
select * from movie, actor;
cross join 사용
select * from movie cross join actor;
join 사용
select * from movie join actor;
<aside> 🍰 주의
join만 사용하면 Cartesian product 결과 나옴 on 또는 using을 같이 사용해야 함
</aside>
각 테이블의 동일한 애트리뷰트 모두 연결하여 출력
where = 사용
select * from movie, actor where movie.aname = actor.aname;
테이블 이름 변경
select * from movie m, actor a where m.aname = a.aname;
select * from movie as m, actor as a where m.aname = a.aname;
join on 사용
select * from movie join actor on movie.aname = actor.aname;
inner join on 사용 (inner join == join)
select * from movie inner join actor on movie.aname = actor.aname;