시작 자료는 아래 링클를 참고하면 더욱 이해가 잘 될것이다.
[SQL Joins Visualizer]
집합으로 치면 교집합에 해당되는 영역이다. 문법은 다음과 같다
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
위 문법은 최신(?)이라 할 수 있고, 예전에는 다음과 같은 경우로도 쓰였다고 한다.
SELECT column_name(s)
FROM table1, table2
WHERE
table1.column_name = table2.column_name;
outer join이라고 하지만 inner join을 제외한 join들을 outer join이라고 한다.
그 중에서도 가장 많이 사용 하는 left (outer) join에 대해서 정리하겠다. right join도 있지만 현업에서는 사용 빈도가 적다고 한다.
시각자료는 아래 링크를 참고 바란다.
[SQL Joins Visualizer]
문법은 아래와 같다.
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
inner join과 차이점이라면 "table1"을 기준으로 join하였기 때문에 table2와 교차점이 없는 부분도 null로 표현된다.
select COUNTRY.CONTINENT, floor(avg(CITY.population))
from CITY
inner join COUNTRY ON CITY.CountryCode = COUNTRY.Code
group by COUNTRY.CONTINENT
[w3schools - SQL INNER JOIN Keyword]
[w3schools - SQL LEFT JOIN Keyword]
[[해커랭크(HackerRank)] Average Population of Each Continent (MySQL)]