我有兩個表,follow
和followed
。我想獲得follow
表中的所有行,例如follow.screen != followed.following_screen_name
。兩個表之間的MySQL表比較
後續表
ID screen_name
-----------------
1 eddie
2 jason
3 omar
4 jonathan
5 jack
其次表
ID my_screen_name following_screen_name
-------------------------------------------
1 john eddie
2 kenny eddie
3 kenny omar
4 john jason
5 john omar
查詢我試過,沒有工作
SELECT follow.screen_name from follow, followed where followed.my_screen_name='john'
AND follow.screen_name != followed.following_screen_name
預期結果
ID screen_name
-----------------
1 jonathan
2 jack
+1。 「外連接」查詢的WHERE子句中的謂詞使其成爲「反連接」模式......來自'F'的所有行以及來自'D'的匹配行,然後排除所有具有匹配的行。 (Kudos指出有多種模式返回指定的結果集。) – spencer7593 2014-10-05 22:55:15
@JohnDoe,你需要用John替換F.screen_name作爲第一個條件,並用AND替換OR。這裏是sql小提琴。 http://www.sqlfiddle.com/#!2/7ef0a/5 – radar 2014-10-06 00:02:20
謝謝你,我愛你兄弟! – 2014-10-06 00:02:42