如何获得你没有的身份?

时间:2016-05-10 09:20:39

标签: php mysql

我有一个数据库,其中存储了用户拥有的所有ID。你可以通过这种方式获得它:

SELECT 'player_id' FROM 'club' WHERE user_id = 1

但是我想知道球员在他的俱乐部里没有哪些内容。您可以获得的所有ID都存储在' players_db'你得到这样的

SELECT 'id' FROM 'players_db'

我怎样才能获得我在俱乐部里没有的身份证明。就像所有来自' players_db'减去所有来自' club' =你在俱乐部里没有的所有身份证明。

3 个答案:

答案 0 :(得分:1)

尝试以下查询。您需要使用NOT IN

SELECT id FROM player_db WHERE id 
NOT IN (SELECT player_id FROM club);

答案 1 :(得分:0)

您不需要使用子查询,因为它的效率低下。 在这种情况下你应该使用内连接..

SELECT c.player_id FROM club c INNER JOIN User u ON u.user_id = c.user_id WHERE c.user_id = 1

答案 2 :(得分:0)

使用 NOT EXISTS

<强>查询

SELECT id FROM player_db p
WHERE NOT EXISTS(
    SELECT 1 FROM club c
    WHERE p.id = c.player_id
);