2013-07-03 41 views
0

我有一個查詢Seflf加入查詢

SELECT * FROM msg where sender = receiver 

在其中發送者和接收者是味精表的兩列。

查詢工作正常。現在我的問題是:

這是一個self join?我認爲這是一個簡單的查詢,它比較來自同一個表的兩列的值,我們將這個表加入到自己的表中,以便得到帶有相同表的列的結果表兩次。

例如:SELECT * from msg m Join msg p on m.id = p.id;

可以澄清嗎?

非常感謝。

+0

爲什麼你有這樣優秀的解釋時有疑問? – fancyPants

+0

我想出了問題的唯一原因,因爲http://drupal.stackexchange.com/questions/25773/how-to-write-a-self-join-query-in-drupal-7-using-db-select – user2545234

回答

0
SELECT * FROM msg where sender = receiver 

不是自加入。

自連接就像任何其他連接一樣,只是在查詢中將加入兩個相同表的 實例。

這是相當普遍的,當你有一個引用自己的表。示例:每個員工都可以有經理的員工表,並且您想要列出所有員工和他們經理的姓名。

+0

如果第二段是報價,請給出報價來源。如果不是,它不需要像代碼一樣縮進(因爲它原來是這樣)或者標記爲引號(就像我做的那樣)。它可以是一個普通的句子。 –

+0

感謝您的及時回覆。我完全贊成你。我提出這個問題的唯一原因是因爲http://drupal.stackexchange.com/questions/25773/how-to-write-a-self-join-query-in-drupal-7-using-db-select – user2545234