繁体   English   中英

SQL INNER JOIN ON和USING

[英]SQL INNER JOIN ON and USING

说我有桌子,我加入内部连接。 使用“ON”比“USING”有什么好处。 或者它们在所有意义上都是一样的吗?

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

SELECT *
FROM   employee 
   INNER JOIN department 
      USING (DepartmentID);

ON允许您指定要加入的任何列:

SELECT *
FROM   employee 
   JOIN department 
      ON employee.DepartmentID = department.ID;

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

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

并非所有SQL版本都使用USING,因此它不太便于携带,也不是一种罕见的查询方式。

USING是一个等值连接并导致从结果集中删除重复的列(可以说这使它“更具关系性”)。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM