sql-server - SQL Server - 需要连接但不等于

标签 sql-server tsql

我使用的是 SQL Server 2012。

我知道如何进行内部联接,从而给出匹配的位置。 我还需要获取不匹配的记录。

最好的方法是什么。我想我可以做一个左连接和一个内连接,然后得到 那些被留下的人。想知道最好和最干净的方法是什么。

如上所述,我已经在进行内部联接,但还需要显示没有匹配的记录。

最佳答案

您可能正在寻找外部联接或外部排除联接。

外部连接

enter image description here

SELECT *
FROM tableA a
FULL OUTER JOIN tableB b
    ON a.column = b.column

外部排除连接

enter image description here

SELECT *
FROM tableA a
FULL OUTER JOIN tableB b
    ON a.column = a.column
WHERE a.column IS NULL OR b.column IS NULL

sql joins

这个答案中的图表取自这个非常有用的article .

关于sql-server - SQL Server - 需要连接但不等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20602826/

相关文章:

c# - 需要将查询中的 "merge" block 记录合二为一,视其他查询列而定

c# - 在 sql server 中调用 Web 服务

sql-server - SQL Server 文件流与 django-mssql

java - Hibernate 不会将 float 正确写入 MS SQL 2005 数据库

sql - T-SQL 存储过程的多个 WHERE 子句输入

sql - 如何不使用 SQL where 子句重复自己

SQL连接所有值都存在的表的有效方法

不为空时的Sql Case语句

sql-server - SQL Server - 如何删除计算列上的 IsPersisted 属性

sql-server - 使用存储过程作为源的 SQL 合并语句