inner join on pokemon.type = trainer.type에서 trainer에는 없고 pokemon에만 존재하는 type이 있다면 어떻게 될까?
-> 결과에 포함되지 않는다.
create table pokemon (
id INT auto_increment primary key,
name varchar(20),
type varchar(20)
);
create table trainer (
id BIGINT primary key,
name varchar(20),
type varchar(20)
);
id | name | type |
---|---|---|
1 | pikachu | electric |
2 | bulbasaur | grass |
3 | pikachu | electric |
4 | coil | electric |
id | name | type |
---|---|---|
1 | ash | electric |
2 | martin | electric |
|2|bulbasaur|grass|
-> grass 타입은 트레이너 테이블에 없고 포켓몬 테이블에만 존재한다.
select * from trainer inner join pokemon
on trainer.trainer_type=pokemon.type
id | name | type | id | name | type |
---|---|---|---|---|---|
1 | ash | electric | 1 | pikachu | electric |
2 | martin | electric | 1 | pikachu | electric |
1 | ash | electric | 3 | pikachu | electric |
2 | martin | electric | 3 | pikachu | electric |
1 | ash | electric | 4 | coil | electric |
2 | martin | electric | 4 | coil | electric |
-> 타입이 grass인 행이 존재하지 않는다.