gpt4 book ai didi

mysql - SQL查询比较两个表

转载 作者:可可西里 更新时间:2023-11-01 08:44:52 24 4
gpt4 key购买 nike

我的数据库中有两个表:

table_A:             table_B:                  

id user id user
1 Mike 1 Mike
2 Dan 2 Dan
3 Tom 3 Tom
4 Lina 4 Lina
5 Cynthia
6 Sam

我的目的是根据id识别Table_B中哪些用户不存在于Table_A中。我是 SQL 的新手,这是我想出的:

SELECT id FROM Table_B
WHERE B.id NOT IN ( SELECT A.id from Table_A)

很可能我的逻辑是错误的,所以我很感激任何指导。

最佳答案

您可以在WHERE 中使用子查询子句谓词 NOT IN然后它将返回 id出现在 table_B只有

子查询

此查询返回 id来自 table_A

SELECT table_A.id FROM table_A

然后会传给NOT IN将返回 bool 值的子句 true如果不匹配,则在每个记录集迭代上。所以id 5 和 6 只在主查询中返回。

最终查询

SELECT table_B.id, table_B.name FROM table_B WHERE table_B.id NOT IN (SELECT table_A.id FROM table_A);

选择所有列使用符号 *而不是列列表

SELECT * FROM table_B WHERE table_B.id NOT IN (SELECT table_A.id FROM table_A);

关于mysql - SQL查询比较两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31579205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com