所以我有两个表,一个包含用户信息 (Users
),另一个包含不显示哪些用户的信息 (Settings
)。因此,我想执行一个查询,以显示 users
表中的所有用户,settings
中列出的用户除外。提前致谢。
用户
| id | name |
===============
| 1 | adam |
| 2 | alex |
| 3 | andrew|
设置
| id | name | value | user_id |
===============================
| 1 | hide | 1 | 1 |
我希望结果是:
| id | name |
==============
| 1 | alex |
| 2 | andrew|
最佳答案
类似于:
SELECT * FROM users WHERE id NOT IN (SELECT user_id FROM settings WHERE name="hide");
只会从用户表中获取不在设置名称等于“隐藏”的设置表中的用户
关于MYSQL 从两个表中选择,但第二个表并不总是与第一个表有关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12862360/