假设我有表,我用inner join连接它们。使用"ON“比使用" using”的优点是什么?或者它们在所有意义上都是一样的?
发布于 2011-10-20 04:40:02
USING是一个等值联接,会导致从结果集中删除重复的列(可以说,这使其“更具关系型”)。
ON是一种theta连接(即连接条件不需要相等,并且可能涉及具有不同名称的列),并允许在结果集中出现重复的列。
发布于 2011-10-20 02:57:29
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
发布于 2011-10-20 03:49:21
并不是所有的SQL都有USING,所以它的可移植性较差,而且是一种罕见的查询方式。
https://stackoverflow.com/questions/7826545
复制相似问题