只是一個關於「約定」,可能會幫助你更好地瞭解「ID」的說明。
「id」(,通用約定)是一個自動編號的整數,可用於唯一地定位該表中的特定行。
每個表格(按照常規約定)都會有自己的「id」列,但這並不意味着您總是通過這些列加入。
表2很可能包含一個「外鍵」,使一個連接到Table
一個「外鍵」欄(通過共同約定)的命名往往是「表名」 &的組合下劃線&「id」。因此,一個可能的修訂,以你的例子是這樣的:
Table1 Table2
________ ________________________
id name id table1_id name
1 O 1000 1 T
2 B 9678 1 N
注意從表1的ID是如何在這個例子中,以表2的ID沒有關係,所以查詢現在是:
SELECT t1.name, t2.name
FROM Table1 t1
INNER JOIN Table2 t2 ON t1.id = t2.table1_id;
加盟堅持指定的邏輯,這裏是t1.id must equal t2.table1_id
。在邏輯中沒有「最後」的「第一個」。任何符合指定條件的行都會加入。(注:&這可能意味着沒有行獲得加入視情況而定)
請從字後不使用表名之間的逗號。習慣於諸如INNER JOIN,LEFT OUTER JOIN(或它們的縮寫JOIN和LEFT JOIN)這樣的術語,這只是在長期的中好得多。
它會給你1 O => 1T和1 O => 1N。將它作爲{(1,0)}和{(1,T),(1,N)}之間的笛卡爾積處理} –
[踢壞的惡習:使用舊式JOIN](http://sqlblog.com/blogs /aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx) –