>데이터 베이스 >MySQL 튜토리얼 >MySQL JOIN: ON과 USING을 언제 사용해야 합니까?

MySQL JOIN: ON과 USING을 언제 사용해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-09 10:44:07450검색

MySQL JOIN: When to Use ON vs. USING?

MySQL JOIN ON과 USING: 구문 차이점 및 사용 사례

MySQL에서 테이블을 조인할 때 ON 또는 USING 키워드를 사용할 수 있습니다. 언뜻 보면 USING이 ON에 비해 더 편리한 구문처럼 보일 수 있습니다. 그러나 각 키워드를 특정 시나리오에 적합하게 만드는 미묘한 차이가 있습니다.

ON: 더 큰 유연성

ON은 다음을 포함한 다양한 조건에서 테이블을 조인할 수 있으므로 더 큰 유연성을 제공합니다.

  • 단일 열
  • 열 집합
  • 복합체 조건

예를 들어 두 열 간의 비교나 표현식을 기반으로 테이블을 조인할 수 있습니다.

SELECT *
FROM world.City
JOIN world.Country
ON (City.CountryCode = Country.Code)
WHERE ...

USING: Simplicity and Convenience

USING은 동일한 이름을 가진 열에서 정확히 일치하는 항목을 공유하는 테이블을 조인하기 위해 특별히 설계되었습니다. ON 절을 사용하는 대신 공통 열 이름을 지정할 수 있도록 하여 구문을 단순화합니다.

SELECT ...
FROM film
JOIN film_actor
USING (film_id)
WHERE ...

USING의 한 가지 중요한 이점은 SELECT 절에서 조인 열을 정규화할 필요가 없다는 것입니다. :

SELECT film.title, film_id
-- No prefix for film_id required
FROM film
JOIN film_actor
USING (film_id)
WHERE ...

ON vs USING: 실제 예

두 키워드의 차이점을 설명하려면 다음을 고려하세요. 예:

ON 예:

SELECT film.title, film.film_id -- Prefixing film.film_id required
FROM film
JOIN film_actor
ON (film.film_id = film_actor.film_id)
WHERE ...

이 예에서는 조인할 열이 정확히 동일하지 않기 때문에 ON이 사용됩니다(film.film_id 대 film_actor.film_id). 모호함을 피하기 위해 SELECT 절에 film.film_id 접두사를 붙여야 합니다.

USING의 예:

SELECT *
FROM t
JOIN t2
USING (i);

이 예에서는 조인 열 때문에 USING이 사용됩니다. (i)는 두 테이블 모두에서 동일하며 이름도 같습니다. 구문을 단순화하고 결과 집합에 공통 열을 자동으로 한 번 포함합니다.

결론

USING이 더 편리한 구문으로 보일 수 있지만 ON은 조인 조건 측면에서 더 큰 유연성을 제공하고 다음을 허용합니다. 더 복잡한 쿼리의 경우. 이름이 다른 컬럼을 비교하거나 복잡한 조건을 적용할 경우 ON을 선택하세요. 동일한 열 이름을 가진 테이블을 조인할 때, 특히 조인 열이 결과 집합의 일부인 경우 USING을 사용하세요.

위 내용은 MySQL JOIN: ON과 USING을 언제 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.