首页 > 数据库 > mysql教程 > MySQL JOIN:ON 与 USING – 我什么时候应该使用哪个?

MySQL JOIN:ON 与 USING – 我什么时候应该使用哪个?

Linda Hamilton
发布: 2024-12-16 01:59:13
原创
778 人浏览过

MySQL JOIN: ON vs. USING – When Should I Use Which?

MySQL JOIN:ON 与 USING

MySQL 的 JOIN 语句提供两种用于连接表的语法选项:ON 和 USING。虽然 USING 似乎只是 ON 的更简洁替代方案,但存在一些值得考虑的细微差别。

ON 和 USING 之间的差异

  • 灵活性: ON 提供了更大的灵活性,因为它允许在列、多列甚至复杂的条件上进行连接。例如:
SELECT * FROM world.City JOIN world.Country ON (City.CountryCode = Country.Code) WHERE ...
登录后复制
  • 列命名: 当要连接的表共享同名的公共列时,USING 最有用。在这种情况下,可以省略列名:
SELECT ... FROM film JOIN film_actor USING (film_id) WHERE ...
登录后复制

与 ON 不同,USING 不需要 SELECT 列表或 WHERE 子句中的完全限定列名:

SELECT film.title, film_id -- film_id not prefixed
FROM film
JOIN film_actor USING (film_id)
WHERE ...
登录后复制

具体用途案例

  • 使用 ON: 当连接多个列、条件或不相同的列名称时。
  • 使用 USING: 为了简单起见,将具有相同名称的公共列的表连接起来时

歧义和 SELECT *

使用 ON 连接表时,连接的列在结果集中出现两次。使用 USING 时,它仅出现一次。当使用 SELECT *.

选择所有列时,这可能会导致歧义问题

以上是MySQL JOIN:ON 与 USING – 我什么时候应该使用哪个?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板