0

私は2つのテーブルを持っています.UsersとFriends Table、UsersはuIDを持っています.FriendsもUIDを持っています.Usersテーブルに存在するがFriendsテーブルには存在しないUIDをチェックしたいので、このクエリを使用しています

SELECT b.userId 
FROM users b 
where b.userId NOT IN(
  select userId 
  from user_friend
)

しかし、Users テーブルのすべての行が返されます。何か不足していますか? MYSQL のデータ例

Users Table
1
2
3
4
Friends Table
2
3
4

私は実際に1を取得する必要があります

4

3 に答える 3

1

これを試して

SELECT b.userId 
FROM users b 
WHERE NOT EXISTS (
   SELECT * 
   FROM user_friend
   WHERE b.userId = user_friend.userId
);
于 2013-10-21T09:35:42.970 に答える
0

これを試してください:

SELECT b.userId 
FROM users b 
where b.userId NOT IN(
  select user_friend.userId 
  from user_friend
)
于 2013-10-21T09:28:09.217 に答える