首页 > 解决方案 > 如何使用表中的 user_ids 集并从 User 表中获取具有这些 id 的用户的用户名

问题描述

我是 MySQL 新手,已经有点难以查询我想要的东西。

有一个名为 Subject 的表,看起来像

+---------+----------+-------------+------------+------------+--+
| user_id | subject  | description | created_at | updated_at |  |
+---------+----------+-------------+------------+------------+--+
|       1 | A        | non         | 3434343434 |   34343433 |  |
|       2 | B        | non         | 3434343434 | 3434343434 |  |
|       3 | C        | non         | 3434343434 | 3434343434 |  |
|       3 | D        | non         | 3434343434 | 3434343434 |  |
+---------+----------+-------------+------------+------------+--+

和一个只有列的用户表user_idusername

我想获取主题表中存在的一组用户名。

SELECT DISTINCT user_id FROM Subject给了我一组user_ids。如何使用这些user_ids 并usernames从 User 表中获取它们?

谢谢!

标签: mysql

解决方案


对于您的要求的相当逐字翻译,我们可以在这里使用存在逻辑:

SELECT u.username
FROM User u
WHERE EXISTS (SELECT 1 FROM Subject s WHERE s.user_id = u.user_id);

推荐阅读