簡體   English   中英

SQL INNER JOIN ON和USING

[英]SQL INNER JOIN ON and USING

說我有桌子,我加入內部連接。 使用“ON”比“USING”有什么好處。 或者它們在所有意義上都是一樣的嗎?

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

並非所有SQL版本都使用USING,因此它不太便於攜帶,也不是一種罕見的查詢方式。

USING是一個等值連接並導致從結果集中刪除重復的列(可以說這使它“更具關系性”)。

ON是一個theta連接(即連接條件不必相等,可能涉及具有不同名稱的列),並允許重復列出現在結果集中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM