当前位置: 首页 > 知识库问答 >
问题:

SQL 2014中何时使用三部分列引用

巫马刚洁
2023-03-14

首先,如果这是在错误的部分,或错误的风格道歉。寻找这个答案有一段时间了,但没有结果。

假设您在SQL 2014中有一个(示例)SQL查询-

SELECT
  dbo.Users.Surname,
  dbo.Accounts.Type
FROM
  dbo.Users
INNER JOIN
  dbo.Accounts
ON (dbo.Users.Id = dbo.Accounts.Id)

到目前为止,这是我一直使用的格式—使用[模式]完全限定表对象。[表名]。[列]。

然而,看看SQL 2014不推荐使用的数据库引擎功能,它表示这种样式不再是标准样式-

两部分名称是符合标准的行为。

在四处调查了一段时间后,我找到了事务SQL语法约定,它说-

为了避免名称解析错误,建议在指定架构范围的对象时指定架构名称。

所以我有点困惑我的小代码片段应该如何编写。我应该只在引用表时使用模式,但在引用列时,跳过模式而只使用表名吗?还是假设所有表对象都应该有别名?

再次为这个问题的潜在主观性道歉。但本质上,我是在询问如何编写不使用2014年SQL已弃用功能但在连接多个表时仍然读取良好的SQL。

共有1个答案

闻人昊昊
2023-03-14

它表示不推荐使用的功能适用于引用列,而不是表。要澄清这两种说法:

SELECT dbo.Orders.ID FROM dbo.Orders

SELECT Orders.ID FROM dbo.Orders

第一个已弃用,而不是最后一个。

为了避免名称解析错误,建议在指定架构范围的对象时指定架构名称。

这适用于用户的默认架构。如果用户有默认模式,则应显示“Person”和两个名称相同的表“dbo”。“人”,“人”。数据库中存在人员,如果该用户执行:

SELECT * FROM Persons

即使他确实需要来自dbo的数据,他也将从表中的个人模式中获得结果。

所以实际的答案是:

使用

SELECT Orders.ID FROM dbo.Orders
 类似资料:
  • 问题内容: 我在我的代码中使用ng-repeat我有基于ng-repeat的n个文本框。我想将文本框与三列对齐。 这是我的代码 问题答案: 最可靠,技术上最正确的方法是在控制器中转换数据。这是一个简单的块函数和用法。 然后您的视图将如下所示: 如果您在中有任何输入,则可能需要在修改数据或提交数据后取消整理/重新加入数组。这是在中的外观,以便始终以原始合并格式提供数据: 许多人喜欢在视图中使用过滤器

  • 我有一个带有@RequestParam(required = false)的控制器,该控制器必须返回带有一些过滤器的所有药物(如果它们存在),该控制器的服务包含它的逻辑,但它不工作。主要的问题是,我有3个数组列表,但我无法找到所有三个数组列表中的所有元素:)

  • 序列化是RPC服务框架实现中重要的一环,因为RPC是远程调用,需要数据序列化后传输,接收后再反序列对象。 序列化库也有不同的性能,有些序列化框架会尽量压缩数据和数据类型,有些包含元数据信息,它们的性能表现不尽相同。 对于Go生态圈的序列化框架,有一些开源项目对它们的性能做了对比,比如 gosercomp做的性能比较: 可以看到XML、JSON相对于其它序列化方式性能挺差的,它们的好处在于通用性。比

  • 在我的一个项目中,我有一个表,其中保存了某种设备的固件更新信息。最初,任何固件更新进程都处于排队状态。更新过程可能有其他状态值,例如正在进行、已完成、失败。对于单个设备,可能存在状态为“已完成”和“已失败”的多行(已完成的更新过程,最终状态!)。但在任何时候,处于排队或正在进行状态的每个设备都必须只有一个更新过程——新固件的推出应该只适用于没有“活动/非最终”更新过程的设备。我试图用Postgre

  • 监督学习(Supervised learning) 咱们先来聊几个使用监督学习来解决问题的实例。假如咱们有一个数据集,里面的数据是俄勒冈州波特兰市的 $47$ 套房屋的面积和价格: 居住面积(平方英尺) 价格(千美元) $2104$ $400$ $1600$ $330$ $2400$ $369$ $1416$ $232$ $3000$ $540$ $\vdots$ $\vdots$ 用这些数据来投

  • 问题内容: 我有一个CHAR(250)列用作varchar(24)列的外键。 在MySQL中,我记得我可以创建一个指定column(24)的索引,以便在最左边的24个字符上创建索引。在MS SQL Server上似乎无法实现。 我的问题是这样的: 是否可以在SQL Server 2008上使用索引视图为该列的子字符串建立索引,如果是,则它会对表的性能产生任何副作用吗? 问题答案: 您可以创建一个持