我知道这个问题似乎是重复的,但我不知道如何以不同的方式提出问题。
我在 MySQL 数据库中有两个非常简单的表,第一个是表Users
id, user_id
1 1
2 3
4 4
二是表友
id, user_id, friend_id
1 1 3
2 1 4
3 1 8
我从我想要清理的 CSV 文件中转储了数据。我需要检查表 1 中是否还存在friend_id。第一个表大约有 30000 行,但第二个表大约有 3000 万行。
我用这个查询来检查
SELECT u.user_id, uf.friend_id as exists_friend_ids
FROM Users u, Friends uf
WHERE u.user_id = '1'
and uf.friend_id IN (select user_id from eventify.Users)
但是,我想要的输出是这样的,但是由于我无法运行上述查询来实际给出我的测试结果,所以我无法继续。
user_id, exists_friend_ids
1 3
1 4
您可以看到 8 不存在,因为它在 Users 表中不存在。但由于第二个表有超过 3000 万条记录,它只是在我的计算机上永远运行。我做得对还是这是唯一的方法。还是我应该学习 Hadoop?
我已更新我的查询以使用相等连接。