INNER JOIN = JOIN
양쪽 모두에 존재하는 행만을 가지고 새로운 테이블을 만든다. 따라서 NULL이 존재하지 않음. => A 테이블과 B 테이블의 교집합
일반적으로 성능이 더 좋으므로 inner join을 할 수 있는 경우에는 inner join을 하는 것이 좋다.
* 실습 테이블
topic | |||
tid | title | description | author_id |
1 | HTML | HTML is … | 1 |
2 | CSS | CSS is … | 2 |
3 | Database | Database is .. | 1 |
4 | Oracle | Oracle is … | NULL |
author | |||
aid | name | city | profile_id |
1 | egoing | seoul | 1 |
2 | leezche | jeju | 2 |
3 | blackdew | namhae | 3 |
profile | ||
pid | title | description |
1 | developer | developer is … |
2 | designer | designer is … |
3 | DBA | DBA is .. |
* 2개의 테이블 INNER JOIN
SELECT * FROM topic INNER JOIN author ON topic.author_id = author.aid
tid | title | description | author_id | aid | name | city | profile_id |
1 | HTML | HTML is … | 1 | 1 | egoing | seoul | 1 |
2 | CSS | CSS is … | 2 | 2 | leezche | jeju | 2 |
3 | Database | Database is .. | 1 | 1 | egoing | seoul | 1 |
* 3개 테이블 INNER JOIN
SELECT * FROM topic INNER JOIN author ON topic.author_id = author.id INNER JOIN profile ON profile.pid = author.profile_id
tid | title | description | author_id | aid | name | city | profile_id | pid | title | description |
1 | HTML | HTML is … | 1 | 1 | egoing | seoul | 1 | 1 | developer | developer is … |
2 | CSS | CSS is … | 2 | 2 | leezche | jeju | 2 | 2 | designer | designer is … |
3 | Database | Database is .. | 1 | 1 | egoing | seoul | 1 | 1 | developer | developer is … |
'CS > Database' 카테고리의 다른 글
[RDBMS] SQL JOIN(4) - FULL OUTER JOIN, EXCLUSIVE LEFT JOIN (0) | 2019.05.27 |
---|---|
[RDBMS] SQL JOIN(2) - LEFT OUTER JOIN (0) | 2019.05.27 |
[RDBMS] SQL JOIN(1) - JOIN (0) | 2019.05.27 |