🥞 BE
home

JOIN의 ON과 USING은 뭐가 다를까

ON 절은 좀 더 일반적으로 활용되며, 테이블 간의 조건을 명시적으로 지정해서 테이블을 조인할 수 있다. 조인 조건으로 사용할 열이 다른 이름일 경우에도 사용이 가능하다.
SELECT * FROM world.City JOIN world.Country ON (City.CountryCode = Country.Code) WHERE ...
SQL
복사
USING 절은 두 테이블이 정확히 같은 이름의 열을 가지고 있고 이를 조인하고자 할 때 사용 가능하다.
SELECT ... FROM film JOIN film_actor USING (film_id) WHERE ...
SQL
복사
또 다른 좋은 점은 조인 열을 완전히 한정할 필요가 없다는 것이다.
SELECT film.title, film_id -- film_id is not prefixed FROM film JOIN film_actor USING (film_id) WHERE ...
SQL
복사
예를 들어, ON 으로 위의 작업을 수행하려면 다음과 같이 작성해야 한다.
SELECT film.title, film.film_id -- film.film_id is required here FROM film JOIN film_actor ON (film.film_id = film_actor.film_id) WHERE ...
SQL
복사

Reference