DB
MySQL기초(7)
with_AI
2022. 5. 4. 13:04
JOIN
같은 의미를 가지는 컬럼의 값을 기준으로 테이블을 합칠 때 사용하는 키워드

1. INNER JOIN
기본 조인으로 default임
두 테이블 모두에 있는 값만 합치기
JOIN은 FROM절에 쓴다

SELECT *
FROM mypokemon
INNER JOIN ability
ON mypokemon.number = ability.number;
LEFT JOIN
왼쪽 테이블에 있는 값만 합치기
SELECT *
FROM mypokemon
LEFT JOIN ability
ON mypokemon.number = ability.number;
OUTER JOIN
MySQL에는 OUTER JOIN이 없어서
LEFT JOIN + RIGHT JOIN으로 UNION한다.
SELECT *
FROM mypokemon
LEFT JOIN ability
ON mypokemon.number = ability.number;
UNION
SELECT *
FROM mypokemon
RIGHT JOIN ability
ON mypokemon.number = ability.number;
CROSS JOIN
모든 ROW * ROW 수로 반환이 됨
SELECT *
FROM mypokemon
CROSS JOIN ability;
SELF JOIN
같은 테이블의 JOIN
SELECT *
FROM mypokemon AS t1
INNER JOIN mypokemon AS t2;
ON t1.number = t2.number;
최종예제
SELECT name, attack, defense
FROM mypokemon
LEFT JOIN ability
ON mypokemon.number = ability.number;