2015-10-20 211 views
2

一般来说,有没有结果集或查询性能之间的任何差别:JOIN USING和JOIN ON有什么区别?

SELECT * FROM tableA JOIN tableB USING (id); 

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

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

优点/缺点使用一个比其他?

回答

8

当你说USING,则列在查询区别对待:

  • 两个表必须具有join键相同的列和名称。 (我认为这是一个很好的做法,无论如何,但USING需要它。)
  • 用于连接只能查询中不包含的其他表别名使用的密钥。
  • 如果你做SELECT *,那么连接键只返回一次。
+0

“两个表必须具有相同的列和名称”。你的意思是,连接键的列名称相同,对吗? –

+0

@ЕгорРогов。 。 。是。固定。 –

相关问题