MySQL JOIN : ON vs. USING
L'instruction JOIN de MySQL fournit deux options de syntaxe pour joindre des tables : ON et USING. Bien que USING puisse sembler être simplement une alternative plus concise à ON, il existe des différences subtiles qui méritent d'être prises en considération.
Différences entre ON et USING
SELECT * FROM world.City JOIN world.Country ON (City.CountryCode = Country.Code) WHERE ...
SELECT ... FROM film JOIN film_actor USING (film_id) WHERE ...
Contrairement à ON, USING ne nécessite pas de noms de colonnes entièrement qualifiés dans la liste SELECT ou la clause WHERE :
SELECT film.title, film_id -- film_id not prefixed FROM film JOIN film_actor USING (film_id) WHERE ...
Cas d'utilisation spécifiques
Ambiguïté et SELECT *
Lorsque vous utilisez ON pour joindre des tables, la colonne jointe apparaît deux fois dans le résultat ensemble. Avec USING, il n'apparaît qu'une seule fois. Cela peut entraîner des problèmes d'ambiguïté lors de la sélection de toutes les colonnes avec SELECT *.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!