-
INNER JOIN, OUTER JOIN [MySQL]Database/MySQL 2017. 9. 14. 11:43반응형
01. INNER JOIN
- 두 테이블간의 조인 조건을 만족하는 row를 리턴
ex) {1,2,3,4}, {1,2} 를 INNER JOIN 을 하게 되면
결과값 : {1,2}가 나온다는 교집합(?)적인 JOIN 형태
TEST1이라는 테이블에 세개의 row가 있고
TEST2에는 2개의 로우가 있다. 이것은 INNER JOIN을 하게 되면
SELECT TEST1.id
, TEST1.beforeValue
, TEST2.afterValue
FROM TEST1 INNER JOIN TEST2 ON TEST1.id = TEST2.id
라는 결과가 나옵니다.
02. OUTER JOIN
- LEFT JOIN
- RIGHT JOIN
- FULL OUTER JOIN
세가지의 방식이 있습니다.
JOIN 이전에 나오는 테이블이 LEFT 테이블이 되고
JOIN 이후에 나오는 테이블이 RIGHT 테이블이 됩니다.02-1. LEFT OUTER JOIN -> JOIN 이전에 나오는 테이블을 기준
SELECT TEST1.id
, TEST1.beforeValue
, TEST2.afterValue
FROM TEST1 LEFT OUTER JOIN TEST2 ON TEST1.id = TEST2.id
02-2. RIGHT JOIN OUTER JOIN -> JOIN 이후에 나오는 테이블 기준
SELECT TEST1.id
, TEST1.beforeValue
, TEST2.afterValue
FROM TEST1 RIGHT OUTER JOIN TEST2 ON TEST1.id = TEST2.id
03-2. FULL OUTER JOIN -> JOIN 하는 테이블 모두를 표시해줄때
- 거의 사용하지도 않고 union이라는것을 사용하기 때문에 다음에 따로 다루도록 하겠습니다.
반응형'Database > MySQL' 카테고리의 다른 글
순위(랭킹) 구하기 [MySql] (0) 2017.11.17 DATEDIFF(), TIMESTAMPDIFF() 사용하기 [Mysql] (0) 2017.09.25 STR_TO_DATE() 사용하기 [Mysql] (0) 2017.09.18 <, > 등 [Mysql] (0) 2017.09.07 [MySQL] DATE_FORMAT() (0) 2017.04.18