MySQL

JOIN ... USING(id) 和 ON 有什么不一样

sql
SELECT * FROM t1 JOIN t2 USING (id) WHERE t1.c = 10;
-- 等价于
SELECT * FROM t1 JOIN t2 ON t1.id = t2.id WHERE t1.c = 10;

区别在 SELECT * 的结果:用 USING 时 id 只出现一列,后面也可以直接写 id,不用加表名;用 ON 时两张表的 id 各出一列。

要求是两张表都有这个同名列。

esc