在 2 个没有用户名的不同表中查找所有 ID

Posted

技术标签:

【中文标题】在 2 个没有用户名的不同表中查找所有 ID【英文标题】:Find all ID's in 2 different tables that Don't have a Username 【发布时间】:2018-01-31 17:14:30 【问题描述】:

好的,所以我有两张桌子。表 1 和表 2。

Table1 - All ID's
ID

Table2 - All ID's with Usernames
ID
Username

我想选择所有没有用户名的 ID。表 2 只有具有用户名的 ID。基本上我想在没有用户名的 ID 上对表 1 加入 2 表进行选择。由于 table2 只有带有用户名的 ID,因此基本上是从 table1 中的 TOTAL ID 中减去表 2 中的所有 ID,因此我只能得到不在 table2 中但在 table1 中的 ID

【问题讨论】:

【参考方案1】:

这应该适合你:

select id from table1
left join table2 on table2.id = table1.id 
where table2.usernames is null 

或者你可以做一个not in

select id from table1 where id not in(select id from table2)

【讨论】:

【参考方案2】:
SELECT  t1.ID 
FROM Table1 t1 
    JOIN Table2 t2 ON
        t2.ID = t1.ID
WHERE t2.Usernames IS NULL

【讨论】:

你应该为你的答案添加一些解释给未来的读者。【参考方案3】:

其中一种方法是使用compound query:

SELECT id FROM Table1
EXCEPT
SELECT id FROM Table2;

【讨论】:

以上是关于在 2 个没有用户名的不同表中查找所有 ID的主要内容,如果未能解决你的问题,请参考以下文章

从 laravel 的不同表中获取每个 id 的总数

查找所有复杂模型

在另一个表 Laravel 中查找具有数据透视表中所有 id 的记录

从 2 个不同的表中查找计数

Rails 控制台通过 id 数组查找用户

不同的用户类型/对象在同一个表中拥有内容 - 如何?