说我有表格,我加入内部联接。使用“ON”比“USING”有什么好处。或者它们在所有意义上都是一样的吗?
答案 0 :(得分:5)
USING
要求两个表中列的名称相同:
SELECT *
FROM employee
INNER JOIN department
USING (DepartmentID);
而ON
允许您指定要加入的任何列:
SELECT *
FROM employee
JOIN department
ON employee.DepartmentID = department.ID;
简而言之,USING
更简洁,但ON
更灵活。
答案 1 :(得分:4)
并非所有SQL版本都使用USING,因此它不太便于携带,也不是一种罕见的查询方式。
答案 2 :(得分:4)
USING
是一个等值连接并导致从结果集中删除重复的列(可以说这使得它“更具关系性”)。
ON
是一个theta连接(即连接条件不必相等,可能涉及具有不同名称的列),并允许重复列出现在结果集中。