MYSQL SELECT,其中子查询的所有结果都是NULL



我有两个MySQL表:

Accountstable:

account_id        | account_name 
--------------------------------
12345             | Demo Account
678910            | Acme Inc.

Users表:

user_id           | account_id          | user_name           | last_login
---------------------------------------------------------------------------
66666             | 12345               | john.doe            | 2021-08-23
77777             | 12345               | jane.doe            | NULL
88888             | 678910              | user_one            | NULL
99999             | 678910              | user_two            | NULL

是否可以创建一个查询,只返回none中的帐户id ?有多少用户曾经登录过(即last_login为NULL)?

对于这样的查询,唯一的结果应该是678910

谢谢!

使用存在逻辑:

SELECT a.*
FROM Account a
WHERE NOT EXISTS (SELECT 1 FROM Users u
WHERE u.account_id = a.account_id AND u.last_login IS NOT NULL);

用简单的英语读,上面的查询是说返回任何我们不能Users表中找到具有非空last_login值的记录的帐户。

是有可能的。

Try the following query:
Select account_id from accounts where account_id IN (Select account_id from users where last_login is not null;

最新更新