trainer right join pokemon on pokemon.type = trainer.type에서 type이 electric인 데이터가 pokemon 데이터가 n개, trainer 데이터가 m개인 경우 어떻게 될까?

jinwook han·2021년 10월 12일

trainer right join pokemon on pokemon.type = trainer.type에서 type이 electric인 데이터가 pokemon 데이터가 n개, trainer 데이터가 m개인 경우 어떻게 될까?
-> n*m + α 개의 데이터가 만들어진다.
(α: 포켓몬에만 존재하는 타입을 가진 데이터)

실험

1. 데이터 구성

pokemon

create table pokemon (
    id INT auto_increment primary key,
    name varchar(20),
    type varchar(20)
);

trainer

create table trainer (
	trainer_id BIGINT primary key,
    trainer_name varchar(20),
    trainer_type varchar(20)
);

pokemon data

idnametype
1pikachuelectric
2balbusaurgrass
3pikachuelectric
4coilelectric

trainer data

trainer_idtrainer_nametrainer_type
1ashelectric
2martinelectric
3hyuaryunfire

2. 쿼리 실행

select * from trainer right join pokemon
on trainer.trainer_type=pokemon.type

3. 결과

trainer_idtrainer_nametrainer_typeidnametype
1ashelectric1pikachuelectric
1ashelectric3pikachuelectric
1ashelectric4coilelectric
2martinelectric1pikachuelectric
2martinelectric3pikachuelectric
2martinelectric4coilelectric
NULLNULLNULL2bulbasaurgrass

0개의 댓글