sql - 如何从两个 SQL 表中获取不匹配的记录?

标签 sql

我想在SQL中从两个表中获取不匹配的记录,表结构如下:

表格1

Id      Name
1       Prashant
2       Ravi
3       Gaurav
5       Naween
7       Sachin

表2
Id      Name
1       Prashant
2       Ravi
4       Alok
6       Raja

我想要的输出是
Id      Name
3       Gaurav
4       Alok
5       Naween
6       Raja
7       Sachin

在 SQL 中获取所需输出的查询是什么?

最佳答案

我认为 joeslice 的回答只会给出一半的结果。您需要联合另一个表。或者,您可以执行完整的外部联接。

select a.Id, a.Name from Table1 a left outer join Table2 b on a.Name = b.Name where b.Id is null
UNION ALL
select a.Id, a.Name from Table2 a left outer join Table1 b on a.Name = b.Name where b.Id is null

关于sql - 如何从两个 SQL 表中获取不匹配的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1096478/

相关文章:

SQL-如何根据列从不同行中选择值

mysql - SQL查询作业挫败感

Php, Mysql Select from table where row = ?有可能的?

sql - 对记录进行分组

sql - SQL Server 2014中满足条件时如何选择ABS(Value)?

python - 多个插入语句失败 postgresql/psycopg2

sql - mysql查询获取属于用户联系人的所有消息

sql - 除了架构所有者之外,其他用户不会触发架构上的 Oracle 触发器

返回所有结果的 MySQL 存储过程

python - 如何使用命名的 paramstyle 占位符在带有 % 通配符的 python 变量上使用 SQL LIKE 运算符