用于获取特定实例不存在于另一个表中的记录的 SQL 查询

Posted

技术标签:

【中文标题】用于获取特定实例不存在于另一个表中的记录的 SQL 查询【英文标题】:SQL query for getting records whose specific instance is not present in another table 【发布时间】:2021-03-03 15:28:58 【问题描述】:

我有 2 张桌子。我想从表 A 中获取所有从未上过大学的学生 id。 所以结果应该只返回“2”。

Table A
Student ID
1
2
3
Table B
1 - School
1 - College
2 - School
3 - School
3 - College

【问题讨论】:

这能回答你的问题吗? Find records on multiple fields not in another table 【参考方案1】:

一种方法是使用not exists,如果您处理大量数据,这是最快的:

select *
from TableA
where not exists ( select 1 from table2 
                   where table1.studentid = tableb.studentid 
                   and schoolcol = 'college'
                 )

【讨论】:

以上是关于用于获取特定实例不存在于另一个表中的记录的 SQL 查询的主要内容,如果未能解决你的问题,请参考以下文章

只要它们不存在于另一个表T-SQL中,就从一个表中检索记录[重复]

存在于一年中但不存在于另一个中的日期的 SQL 语法

排除存在于另一个表中的记录

如何获取一个MySql表中存在的记录而不是另一个[重复]

My SQL

如果 id 不存在于另一个表中,则根据条件使用 sql 计算 id 的编号