sql-server - JOIN 与多个 FROM 表

标签 sql-server

是否存在连接不会返回具有相同条件的 FROM 多个表返回的数据的情况?

例如

SELECT *
FROM TableNames as Names
INNER JOIN TableNumbers as Numbers on Names.ID = Numbers.ID

VS

SELECT *
FROM TableNames as Names, TableNumbers as Numbers
WHERE Names.ID = Numbers.ID

最佳答案

INNER JOIN(如您的第一个示例)将始终返回与使用相同联接条件(您的第二个示例)的 WHERE 过滤器的笛卡尔联接相同的数据。

但是,请注意,对于 OUTER JOIN 来说,情况并非如此,其中 NULL 值在使用 WHERE 过滤器作为连接条件的笛卡尔连接中被过滤掉。

关于sql-server - JOIN 与多个 FROM 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26905670/

相关文章:

.net - 将 blob 存储在 SQL Server 中而不将 blob 读入内存

sql - Visual Studio 2013 没有 SQL Server CE 数据提供程序

sql-server - 将快照导入 SQL Server 2019 时出错

sql-server - 如何在 SQL Server 中拆分字符串并将值插入到表中

sql - T-SQL 语句 OVER 子句排名函数

sql-server - 检索 SQL Server 中的日期; CURRENT_TIMESTAMP 与 GetDate()

python - 使用 sqlalchemy 和 pyodbc 连接到 SQL Server 2012

c# - 如何使用 Entity Framework 6 按行号进行内部联接

sql - 从 SQL Server 自动提取日期 - T-SQL

SQL 服务器 : trigger firing every time