2012-01-25 119 views
0

表:MySQL的左連接存在

  • 用戶:ID,名稱
  • usersFacebookFriends:ID,UID,friendUid,名

我需要一個查詢搜索好友(名稱),並檢查它們是否存在於用戶表中,所以他們也在網站上註冊。

這是可能的左連接,如果是這樣怎麼樣?

謝謝。

回答

0

我想這應該工作。如果facebook朋友沒有註冊您的網站corrsponding,加入的用戶表字段將爲NULL。

SELECT f.name, u.* FROM usersFacebookFriends AS f 
LEFT JOIN users AS u 
ON f.friendUid = u.id 
WHERE f.uid = 123 

變化LEFT JOININNER JOIN如果你只需要找到那些誰存在。

3
SELECT ff.id, ff.uid, ff.friendUid, ff.name, u.id, u.name 
    FROM usersFacebookFriends ff 
     LEFT JOIN users u 
      ON ff.name = u.name; 

如果你只想要那些存在:

SELECT ff.id, ff.uid, ff.friendUid, ff.name, u.id, u.name 
    FROM usersFacebookFriends ff 
     INNER JOIN users u 
      ON ff.name = u.name; 

如果你想只有那些不存在:

SELECT ff.id, ff.uid, ff.friendUid, ff.name, u.id, u.name 
    FROM usersFacebookFriends ff 
     LEFT JOIN users u 
      ON ff.name = u.name 
    WHERE u.id IS NULL;