首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL INNER JOIN ON and USING

SQL INNER JOIN ON and USING
EN

Stack Overflow用户
提问于 2011-10-20 02:53:56
回答 3查看 3.8K关注 0票数 10

假设我有表,我用inner join连接它们。使用"ON“比使用" using”的优点是什么?或者它们在所有意义上都是一样的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-20 04:40:02

USING是一个等值联接,会导致从结果集中删除重复的列(可以说,这使其“更具关系型”)。

ON是一种theta连接(即连接条件不需要相等,并且可能涉及具有不同名称的列),并允许在结果集中出现重复的列。

票数 7
EN

Stack Overflow用户

发布于 2011-10-20 02:57:29

USING要求两个表中列的名称相同:

代码语言:javascript
复制
SELECT *
FROM   employee 
   INNER JOIN department 
      USING (DepartmentID);

ON允许您指定要联接的任何列:

代码语言:javascript
复制
SELECT *
FROM   employee 
   JOIN department 
      ON employee.DepartmentID = department.ID;

简而言之,USING更简洁,但ON更灵活。

http://en.wikipedia.org/wiki/Join_(SQL)#Equi-join

票数 10
EN

Stack Overflow用户

发布于 2011-10-20 03:49:21

并不是所有的SQL都有USING,所以它的可移植性较差,而且是一种罕见的查询方式。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7826545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档