java - SQL获取不在的行

标签 java sql database sqlite

我的 sqlite 数据库中有三个表,分别是 member、group 和 group_member。

成员表如下所示:

member_id|first_name|...

组表是这样的:

group_id|name|...

group_member 表是这样的:

group_id|member_id

现在,我希望我的应用程序的用户通过彼此分开的两个人员列表来添加/删除组中的成员。第一个列表应包含不在该组中的所有人员,第二个列表应包含该组的所有成员。

not in group          in group
------------------------------
person1 |            | member5
person2 |    Add ->  | member6
person3 |  <- Remove |
person4 |            |

我知道如何让组中的所有成员,但是如何让不属于该组的成员填充第一个列表?

最佳答案

select m.* from member m 
where not exists (
    select 1 
    from group_member gm
    where gm.member_id  = m.member_id and group_id = ? )

关于java - SQL获取不在的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31891502/

相关文章:

java - 如何在 servlet 过滤器中重定向?

php - 有没有办法让 PHP 在不执行 SQL 语法的情况下验证它?

php - 我如何解决 Laravel 数据库中的迁移?

使用 GROUP BY 需要 Mysql 查询帮助吗?

sql - 如何查找一周的开始日期

database - 是否可以重命名列?

java - JPA向下转型以访问子类方法

java - 为什么在 Java 中停止一个线程这么难?

java - ReloadingCombinedConfigurationBuilder 在 1 次重新加载后未重新加载

mysql - SQL 更新标志,其中不同的值