JOIN USING和JOIN ON有什么区别?

时间:2015-10-20 19:00:59

标签: sql postgresql

通常,结果集或查询性能之间存在任何差异:

SELECT * FROM tableA JOIN tableB USING (id);

SELECT * FROM tableA ta JOIN tableB tb ON (ta.id = tb.id);

如果是这样,有什么区别?

使用其中一个的优点/缺点?

1 个答案:

答案 0 :(得分:8)

当您说USING时,在查询中对列的处理方式不同:

  • 两个表必须具有join个键的相同列和名称。 (我认为这是一个很好的做法,但是USING需要它。)
  • 用于连接的密钥只能在查询的其余部分中不使用表别名时使用。
  • 如果您执行SELECT *,则连接键只返回一次。